linux安装apollo;以及springcloud采用apollo配置时使用本地配置覆盖;springboot从apollo拉取配置

Posted 好大的月亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux安装apollo;以及springcloud采用apollo配置时使用本地配置覆盖;springboot从apollo拉取配置相关的知识,希望对你有一定的参考价值。

springcloud采用apollo配置时使用本地配置覆盖

只需要在bootstrap.yml中添加如下配置

apollo.bootstrap.enabled=true

然后在application.properties文件中配置好要覆盖的内容

bootstrap.yml中的相关配置如下

# apollo集成
# apollo 配置应用的 appid
app.id=springboot-apollo-demo1
# apollo meta-server地址,一般同config-server地址
apollo.meta=http://192.168.0.153:8080
#启用apollo配置开关
apollo.bootstrap.enabled=true
apollo.bootstrap.eagerLoad.enabled=true
# apollo 使用配置的命名空间,多个以逗号分隔
apollo.bootstrap.namespaces = application

配置说明:

  1. app.id:在配置中心配置的应用身份信息。
  2. apollo.bootstrap.enabled:在应用启动阶段是否向Spring容器注入被托管的properties文件配置信息。
  3. apollo.bootstrap.eagerLoad.enabled:将Apollo配置加载提到初始化日志系统之前。
  4. apollo.bootstrap.namespaces:配置的命名空间,多个逗号分隔,一个namespace相当于一个配置文件。
  5. apollo.meta:当前环境服务配置地址,生产环境建议至少双节点,可以填写多个逗号分隔,使用一个单独的域,如 http://config.xxx.com(由nginx等软件负载平衡器支持),而不是多个IP地址,因为服务器可能会扩展或缩小。

参考了大佬的博文
https://www.cnblogs.com/jvStarBlog/p/12188176.html

linux安装apollo

先上官方文档
https://www.apolloconfig.com/#/zh/deployment/distributed-deployment-guide?id=_2221-%e9%83%a8%e7%bd%b2apollo-configservice

github上的项目地址
https://github.com/apolloconfig/apollo/wiki

下载安装包
https://github.com/apolloconfig/apollo/releases/tag/v1.9.0

初始化sql

部署apollo服务端

按照上面官方文档中的配置,初始化完数据库后需要修改项目文件中的db配置,连上我们自己的mysql数据库;

下载这三个包

在下载的三个项目的config目录下修改db的链接

然后依次启动config---admin---portal,启动的时候可能默认的/opt/logs/xxx日志存放路径没有读写权限,简单粗暴的话加个777的权限就行了.

登录apollo

http://localhost:8070/

修改/增加部门

直接在db里改就行了

客户端连接服务端springboot从apollo拉取配置

apollo上随便配置一点东西,然后点击发布

先上依赖,注意client依赖版本和server要一致

<dependency>
     <groupId>com.ctrip.framework.apollo</groupId>
     <artifactId>apollo-client</artifactId>
     <version>1.9.0</version>
 </dependency>

配置参数

# apollo集成
# apollo 配置应用的 appid
app.id=springboot-apollo-demo1
# apollo meta-server地址,一般同config-server地址
apollo.meta=http://localhost:8080
#启用apollo配置开关
apollo.bootstrap.enabled=true
apollo.bootstrap.eagerLoad.enabled=true
# apollo 使用配置的命名空间,多个以逗号分隔
apollo.bootstrap.namespaces = application

启动类上加上@EnableApolloConfig注解

第一次启动的时候看到拉取apollo的配置文件一直拉取失败,看到控制台的报错,看到请求的ip是我虚拟机的另一个虚拟网卡的ipip不对。
官网提供了几种方法来处理。我这里选择在jvm options中加入参数来覆盖这个ip.

官网提供的几种修改方式

我选择的方式

-Dapollo.configService=http://localhost:8080

成功拉取到apollo上的配置信息

在切换集群的时候建议添加application.properties文件,我在测试的时候发现使用yml格式的刷新配置失败了

以上是关于linux安装apollo;以及springcloud采用apollo配置时使用本地配置覆盖;springboot从apollo拉取配置的主要内容,如果未能解决你的问题,请参考以下文章

linux centos7搭建apollo

Apollo lake平台怎么安装LINUX系统

apollo lake平台无法安装linux系统到底是啥问题是bios的问题还是系统镜像?请高人指点!

Apollo-oracle-docker部署

Apollo-mysql-docker部署

centos7.2 apollo1.7.1的搭建