最近把之前学习的东西复习了一下,然后回忆一下,为我自己做持续交付平台打好基础。之后我想着技术壁垒就少一下。

今天主要是整合了一下apollo,关于apollo的安装,网上有很多相关的博客。非常的全面。也有很多有关apollo与spring boot config的对比,这也是面试经常问的,所以要注意一下,尤其是apollo提供了用户的操作界面让操作方便,还有就是热发布这块。

apollo的安装的大概描述

apollo是基于微服务的配置中心,所有apollo可以部属成微服务集群的模式。我们一般在学习或者开发中一般是部属一个就好了,但注意apollo有3部分,首先是那个管理界面的服务,也就是默认为8070端口的这个服务,这个服务是管理的界面,相当于一个web吧,然后是那个service,也就是真正后边的admin需要部属集群的那部分,当然还有那个另外的那一个。所以在部属集群的时候只需要将新部属的service和admin即可,那个web就不需要部属多台了。这里边apollo有一个自治的注册中心,所以在部属集群的时候只需要修改注册中心的地址即可。然后就可以实现集群。当然每个微服务的数据库还是相同的,也就是初始化的那两个库(这里安装mysql需要安装位5.7+的版本),安装成功之后就可以启动apollo   ,但是我们的项目分好多的环境比如dev、local等。这时需要我们直接去改apollo的数据库了。这个网上都有,我也是从网上百度的。改完之后的效果就是这样的

./demo.sh start
 apollo创建成功之后,我们登陆到apollo,然后创建我们的项目scaffold填写appid=scaffold等一系列的东西。

然后需要我们创建namespace,也就是命名空间。相当于解耦的。这里的命名空间是分私有和共有,私有就是这个项目appid对上了才能拉取,而共有就是只要来apollo都给。我创建的是这样的:

然后就是新增配置,填写好相关的key和value即可,当然这些最后都是要被我们的项目获取的东西。比如我配置的test和common,来测试在java端能否拉到私有和共有的配置属性。这一切都弄好之后,我们就可以点击发布,然后开发我们的java端代码了。

java端整合apollo

在整合任何组件时候,如果我们没有就得把它请进来,所以我们第一步就是导入apollo需要的jar包。这里需要apollo-client的jar包。如果不知道版本号,可以直接去百度搜mvn 然后填入apollo-client即可全部搞到。

<dependency>
            <groupId>com.ctrip.framework.apollo</groupId>
            <artifactId>apollo-client</artifactId>
            <version>1.3.0</version>
        </dependency>
导入apollo-jenkins之后,需要配置我们的appid也就是跟apollo对暗号的那个。当然apollo会默认去它识别的那个文件里读这个暗号,所以我们得创建这个文件,并将appid给写进去。这里的目录是META-INF下的app.properties文件里编写一句appid=scaffold即可。

之后,我们需要做的就是让我们的apollo-jenkins知道获取配置的地址了,因为都是基于spring cloud的Ribbo所以这里需要配置apollo的注册中心的地址,也就是默认的8080端口的那个地址。然后再指定我们的环境。比如私有的application和共有的namespace test1.common这些。

apollo:
  meta: http://127.0.0.1:8080
  bootstrap:
    enabled: true
    eagerLoad:
      enabled: true
    namespaces: application,TEST1.common
之后就是开启我们的apollo的服务了,也就是spring最擅长的注解了这里的注解叫做@EnableApolloConfig

做好之后,我们需要做测试了,我将测试的controller这样写:

@RestController
@ApiModel
public class test {
 
    @Value("${test:123}")
    private String test;
    
    @Value("${common:123}")
    private String common;
    
 
    @GetMapping(value="/test-apollo")
    @ApiOperation(value="测试apollo",notes="测试apollo")
    public void testApollo(){
        System.out.println(test+"--------------"+common);
        //return test+"-"+common;
    }
    
}
之后在swagger上发送请求,效果如下:

这说明整合成功了。

总结:这只是我们创建apollo的一个开始,也就是基础的连接测试,为我们之后搭建持续交付平台做基础,完了我们还要进行apollo在java端的用户注册和环境管理等功能。希望每天都有收获。
————————————————
版权声明:本文为CSDN博主「坚持学习的菜鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tianjingle_blog/article/details/92850840

java整合apollo(一)相关推荐

  1. 阿波罗java_携程Apollo(阿波罗)安装部署以及java整合实现

    服务器部署 可以按照apollo wiki 进行部署 安装 Java 环境 java 创建数据库 Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB,我们把 ...

  2. 携程 java_携程Apollo(阿波罗)安装部署以及java整合实现

    服务器部署 可以按照apollo wiki 进行部署 安装 Java 环境 java 创建数据库 Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB,我们把 ...

  3. 阿波罗数据集怎么下载_携程Apollo(阿波罗)安装部署以及java整合实现

    服务器部署 可以按照apollo wiki 进行部署 安装 Java 环境 java 创建数据库 Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB,我们把 ...

  4. java的Apollo的功能_Apollo配置中心

    1什么是配置中心? 传统单体应用存在一些潜在缺陷,如随着规模的扩大,部署效率降低,团队协作效率差,系统可靠性变差,维护困难,新功能上线周期长等,所以迫切需要一种新的架构去解决这些问题,而微服务( mi ...

  5. kettle清洗mysql数据_ETL工具Kettle使用以及与Java整合实现数据清洗

    本文主要讲述kettle的使用和与Java整合,具体下载与安装请自行百度! kettle有两种脚本方式:转换和工作,工作中可以添加转换.以下以转换为例. 1.新建一个转换, 2.在工作中经常用到的是表 ...

  6. SpringBoot整合Apollo配置中心快速使用

    一.简介 1.Apollo 是什么?Apollo(阿波罗)是携程框架部门研发的分布式配置中心.服务端基于Spring Boot和Spring Cloud开发. 2.为什么要使用Apollo? 安全性: ...

  7. JAVA整合腾讯COS(拿来即用)

    JAVA整合腾讯COS实现文件上传 1.开通腾讯云对象存储服务 https://console.cloud.tencent.com/cos5 2.创建存储桶 3.密钥管理,新建密钥 4:在项目yml文 ...

  8. 【呕血整合】Java整合诸葛IO官方API获取埋点数据

    前言 首先要特别感谢诸葛io官方人员的技术支持 近期小编有在网上查看Java整合诸葛io的相关请求接口文档,但是查到的结果都不太如意,或许是官方文档给得太详细了,根本不需要参考这种相关的博客.但是为了 ...

  9. Java整合rabbitmqFailed to declare queue:[springCloudBus.anonymous.iAletE1kTIC_khZhwMmfdA]

    Java整合rabbitmqFailed to declare queue:[springCloudBus.anonymous.iAletE1kTIC_khZhwMmfdA] 新建用户报错默认用户正常 ...

最新文章

  1. mac 上搭建gitlabel_在Mac OS X中用Docker部署GitLab
  2. HTML/CSS学习笔记03【CSS概述、CSS选择器、CSS属性、CSS案例-注册页面】
  3. 【Linux】一步一步学Linux——unzip命令(68)
  4. 小程序类似抖音视频整屏切换
  5. jquery中的ready函数与window.onload谁先执行
  6. android+大富翁+局域网,【图片】大富翁6局域网(LAN)多人联机教程(求精)_大富翁吧_百度贴吧...
  7. bzoj4504 K个串
  8. Servlet过滤器和监听器知识总结
  9. Linux进程、线程、任务调度(1)贵在坚持
  10. 51单片机毕业设计题目大全
  11. c语言对称矩形的判定,江苏省扬州市仪征市2017年中考数学一模试卷(含解析).doc...
  12. 微信将可开小号!微信内测一个手机可注册俩号
  13. Android系统epub阅读器分享
  14. SFDC中的DEBUG
  15. 质量回顾分析系统软件(QRS)
  16. python中的.nc文件处理 | 03 指定位置的数据切片及可视化
  17. HTML5七夕情人节表白网页制作【樱花雨+爱心3D相册】HTML+CSS+JavaScript
  18. NBMA(mgre)实验HCIP
  19. redhat7安装oracle11gR2之环境准备
  20. 远期、期货和互换(三)

热门文章

  1. MapReduce 计数器简介(转载自:http://www.tuicool.com/articles/qqyIBr)
  2. shell编程--流程控制for,do-while,if-then,break,continue,case等
  3. 01_MyBatis EHCache集成及所需jar包,ehcache.xml配置文件参数配置及mapper中的参数配置
  4. Java获取文件大小,文件夹内文件个数的工具类
  5. 一个base.css
  6. argsort()返回数据从小到大的“索引值”
  7. java 博客系统_讲解开源项目:5分钟搭建私人Java博客系统
  8. python定义距离_距离度量以及python实现(一)
  9. Linux发行版 (列表)
  10. short,int,long ,long long ,_int64类型的范围详解