博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
每天学点SpringCloud(八):使用Apollo做配置中心
阅读量:6202 次
发布时间:2019-06-21

本文共 6785 字,大约阅读时间需要 22 分钟。

版权声明:本文为博主原创文章,未经博主允许不得转载。博客源地址为zhixiang.org.cn https://blog.csdn.net/myFirstCN/article/details/81608672

由于Apollo支持的图形化界面相对于我们更加的友好,所以此次我们使用Apollo来做配置中心

本篇文章实现了使用Apollo配置了dev和fat两个环境下的属性配置。

Apollo官方文档

1.下载依赖

  1. 从页面下载最新版本的apollo-configservice-x.x.x-github.zip、apollo-adminservice-x.x.x-github.zip和apollo-portal-x.x.x-github.zip依赖包(需要翻墙。不能翻墙的同学建议使用第二种方式)。
  2. 从下载源码后在本地构建。构建步骤为:
  1. 下载项目所需依赖
  2. 使用scripts文件夹下的build.bat或build.sh构建
  3. 分别拷贝出apollo-adminservice、apollo-configservice和apollo-portal三个文件夹下target/apollo-xxx-x.x.x-github.zip文件

2. 创建数据库

  1. 从下载apolloconfigdb.sql和apolloportaldb.sql数据库文件。
  2. 使用apolloportaldb.sql文件创建apolloportaldb数据库,此数据库是我们管理各种环境等的通用数据库。
  3. 使用apolloconfigdb.sql文件分别创建apolloconfigdb_dev和apolloconfigdb_fat数据库作为我们两个环境的数据存储。

3.配置数据库连接信息

  1. 解压第一步下载的三个压缩文件
  2. apollo-portal-1.0.0-github
  1. 在apollo-portal-1.0.0-github/config下application-github.properties文件中配置 apolloportaldb数据库的连接信息。
  2. 打开apollo-env.properties文件修改dev.mate和fat.mate属性值为不同环境对 应的Eureka地址。例如在这里我fat环境使用的本地,dev使用的是服务器地址
  3. 复制一份apollo-adminservice-1.0.0-github文件,分别重命名为apollo-adminservice-dev和apollo-adminservice-fat。
  4. 在apollo-adminservice-dev和apollo-adminservice-fat 的config文件夹下的application-github.properties文件中分别配置 apolloconfigdb_dev和apolloconfigdb_fat数据库的连接信息。
  5. 按照3.4步骤复制apollo-configservice-1.0.0-github并分别配置数据连接地址

现在的数据库连接信息如下所示:

图片

4.启动服务

  1. 使用apollo时portal只需要启动一个来进行管理,在这里我们暂时把它放在本地启动。为了启动方面,使用一个小的脚本
1234
#!/bin/bashsh apollo-portal-1.0.0-github/scripts/startup.shsh apollo-configservice-fat/scripts/startup.shsh apollo-adminservice-fat/scripts/startup.sh
  1. 将apollo-configservice-dev和apollo-adminservice-dev上传到服务器,使用如下命令启动
12
sh ./apollo-configservice-dev/scripts/startup.sh sh ./apollo-adminservice-dev/scripts/startup.sh
  1. 现在我们访问http://localhost:8080/以及http://10.10.10.10:8080/可以看到以下信息就没问题了
    图片图片
  2. 修改数据库apolloconfigdb_dev和apolloconfigdb_fat中的ServerConfig表中的key为eureka.service.url的数据,将value分别置为http://10.10.10.10:8080/eureka/和http://localhost:8080/eureka/

5.测试

  1. 创建一个maven工程,引入apollo的相关依赖
123456
1.0.0
com.ctrip.framework.apollo
apollo-client
${apollo.version}
  1. 在application.yml中指定应用的id,以及apollo配置中心的地址
1234
App:  Id: demoapollo:  Meta: http://10.10.10.10:8080 #指定dev环境
  1. 创建ConfigRefresher类
12345678910111213141516171819202122232425262728293031
@Servicepublic class ConfigRefresher implements ApplicationContextAware {  private ApplicationContext applicationContext;  @ApolloConfig  private Config config;  @PostConstruct  private void initialize() {    refresher(config.getPropertyNames());  }  @ApolloConfigChangeListener  private void onChange(ConfigChangeEvent changeEvent) {    refresher(changeEvent.changedKeys());  }  private void refresher(Set
changedKeys) { for (String changedKey : changedKeys) { System.out.println("this key is changed:"+changedKey); } this.applicationContext.publishEvent(new EnvironmentChangeEvent(changedKeys)); } @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; }}
  1. 创建启动类并启动
12345678
@SpringBootApplication@EnableApolloConfigpublic class Application {    public static void main(String[] args) {        SpringApplication.run(Application.class, args);    }}
  1. 修改配置文件中的 apollo.Meta为localhost:8080再次启动
  2. 打开浏览器访问  Apollo默认的用户名为 apollo,密码为admin。登陆后点击创建项目,。
  3. 进入项目可在dev和fat环境中分别发布不同的配置进行测试

    由于Apollo支持的图形化界面相对于我们更加的友好,所以此次我们使用Apollo来做配置中心

    本篇文章实现了使用Apollo配置了dev和fat两个环境下的属性配置。

    Apollo官方文档

    1.下载依赖

  4. 从页面下载最新版本的apollo-configservice-x.x.x-github.zip、apollo-adminservice-x.x.x-github.zip和apollo-portal-x.x.x-github.zip依赖包(需要翻墙。不能翻墙的同学建议使用第二种方式)。
  5. 从下载源码后在本地构建。构建步骤为:
  6. 下载项目所需依赖
  7. 使用scripts文件夹下的build.bat或build.sh构建
  8. 分别拷贝出apollo-adminservice、apollo-configservice和apollo-portal三个文件夹下target/apollo-xxx-x.x.x-github.zip文件
  9. 2. 创建数据库

  10. 从下载apolloconfigdb.sql和apolloportaldb.sql数据库文件。
  11. 使用apolloportaldb.sql文件创建apolloportaldb数据库,此数据库是我们管理各种环境等的通用数据库。
  12. 使用apolloconfigdb.sql文件分别创建apolloconfigdb_dev和apolloconfigdb_fat数据库作为我们两个环境的数据存储。
  13. 3.配置数据库连接信息

  14. 解压第一步下载的三个压缩文件
  15. apollo-portal-1.0.0-github
  16. 在apollo-portal-1.0.0-github/config下application-github.properties文件中配置 apolloportaldb数据库的连接信息。
  17. 打开apollo-env.properties文件修改dev.mate和fat.mate属性值为不同环境对 应的Eureka地址。例如在这里我fat环境使用的本地,dev使用的是服务器地址
  18. 复制一份apollo-adminservice-1.0.0-github文件,分别重命名为apollo-adminservice-dev和apollo-adminservice-fat。
  19. 在apollo-adminservice-dev和apollo-adminservice-fat 的config文件夹下的application-github.properties文件中分别配置 apolloconfigdb_dev和apolloconfigdb_fat数据库的连接信息。
  20. 按照3.4步骤复制apollo-configservice-1.0.0-github并分别配置数据连接地址
  21. 现在的数据库连接信息如下所示:

    图片

    4.启动服务

  22. 使用apollo时portal只需要启动一个来进行管理,在这里我们暂时把它放在本地启动。为了启动方面,使用一个小的脚本
  23. 1234
    #!/bin/bashsh apollo-portal-1.0.0-github/scripts/startup.shsh apollo-configservice-fat/scripts/startup.shsh apollo-adminservice-fat/scripts/startup.sh
  24. 将apollo-configservice-dev和apollo-adminservice-dev上传到服务器,使用如下命令启动
  25. 12
    sh ./apollo-configservice-dev/scripts/startup.sh sh ./apollo-adminservice-dev/scripts/startup.sh
  26. 现在我们访问http://localhost:8080/以及http://10.10.10.10:8080/可以看到以下信息就没问题了
    图片图片
  27. 修改数据库apolloconfigdb_dev和apolloconfigdb_fat中的ServerConfig表中的key为eureka.service.url的数据,将value分别置为http://10.10.10.10:8080/eureka/和http://localhost:8080/eureka/
  28. 5.测试

  29. 创建一个maven工程,引入apollo的相关依赖
  30. 123456
    1.0.0
    com.ctrip.framework.apollo
    apollo-client
    ${apollo.version}
  31. 在application.yml中指定应用的id,以及apollo配置中心的地址
  32. 1234
    App:  Id: demoapollo:  Meta: http://10.10.10.10:8080 #指定dev环境
  33. 创建ConfigRefresher类
  34. 0111213141516171819202122232425262728293031
    @Servicepublic class ConfigRefresher implements ApplicationContextAware {  private ApplicationContext applicationContext;  @ApolloConfig  private Config config;  @PostConstruct  private void initialize() {    refresher(config.getPropertyNames());  }  @ApolloConfigChangeListener  private void onChange(ConfigChangeEvent changeEvent) {    refresher(changeEvent.changedKeys());  }  private void refresher(Set
    changedKeys) { for (String changedKey : changedKeys) { System.out.println("this key is changed:"+changedKey); } this.applicationContext.publishEvent(new EnvironmentChangeEvent(changedKeys)); } @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; }}
  35. 创建启动类并启动
  36. 12345678
    @SpringBootApplication@EnableApolloConfigpublic class Application {    public static void main(String[] args) {        SpringApplication.run(Application.class, args);    }}
  37. 修改配置文件中的 apollo.Meta为localhost:8080再次启动
  38. 打开浏览器访问  Apollo默认的用户名为 apollo,密码为admin。登陆后点击创建项目,。
  39. 进入项目可在dev和fat环境中分别发布不同的配置进行测试

 

本文出自,转载请保留

你可能感兴趣的文章
python 定义函数
查看>>
Win10 搭建 nginx + tomcat 集群 + memcached + session 共享
查看>>
【Solr初探】Solr安装,启动,查询,索引
查看>>
NAT功能测试
查看>>
端午节漫想漫谈
查看>>
拦截器
查看>>
一些MM主数据重写F4的函数
查看>>
PHP实现最简单爬虫原型
查看>>
POJ 1238 Substrings
查看>>
[Angularjs]angular ng-repeat与js特效加载先后导致的问题
查看>>
小用 flex布局
查看>>
spring boot + swagger2
查看>>
移动端之js控制rem,适配字体
查看>>
帝国CMS7.2忘记后台密码怎么找回 【这个才是真的有用】
查看>>
火焰灯menu修改之后,可以实现数遍点击小方块停留在当前页面
查看>>
mybatis动态sql中的bind绑定
查看>>
MySQL 之Navicat Premium 12安装使用、pymysql模块使用、sql注入问题的产生与解决
查看>>
MFC 文件与文件夹相关操作
查看>>
Node.js学习心得
查看>>
meta常用标签总结
查看>>