安装部署请参考官网:https://github.com/ctripcorp/apollo/wiki/分布式部署指南
多环境配置
假设配置dev,fat两套环境
1.数据库为一个apolloportaldb 两个apolloconfigdb
2.服务为一个portal 两个config 两个admin
3.每个config和admin配置对应的数据库配置
4.每个apolloconfigdb配置对应的eureka服务,注意ip端口
image.png
5.apolloportaldb库配置多个环境
image.png
6.portal的apollo-env.properties 配置对应的服务
image.png
注意
-
1.假设有一个环境后面才配置,需要把app,appnamespace,cluster,namespace 四张表的数据手动insert全部导进去,不然会报错
image.png -
2.查看各自的eureka服务,是否注册错乱,鼠标放上去,看左下角的ip是否错乱
image.png
之前配置生产环境的时候,一直预发环境配置不显示,原因是配置错了,在上面红的配置了,UAT, 老眼昏花了
image.png
springboot整合
1.application.properties配置
app.id=statistics
apollo.bootstrap.enabled=true
apollo.bootstrap.namespaces=application,jdbc
或者applicatoin.yml配置
app:
id: statistics
apollo:
bootstrap:
enabled: true
namespaces: application,jdbc
2.opt/settings/server.properties(windows版本在c盘)
apollo.meta=http://47.99.87.200:8080
#配置自定义缓存目录
apollo.cacheDir=D:/workspace/openapi/datawarehouse-openapi-rpc-service/src/main/config
#配置本地开发
#env=Local
3.配置Local的方式
image.png
spring整合
1.spring只需要两个配置,一个是app.properties,写appid一行配置即可
image.png
2.在spring的配置文件中引入schema,然后配置
多个用逗号隔开
<apollo:config namespaces="openapi,application" />
image.png
3.新增opt/settings/server.properties配置文件
apollo.meta=http://47.99.87.200:8080
apollo.cacheDir=D:/workspace/openapi/datawarehouse-openapi-rpc-service/src/main/config //配置本地缓存目录
image.png
4.本地调试
image.png
一些经验总结
1.java客户端获取当前环境代码
Foundation.server().getEnvType();
2.apollo.portal.envs配置:
直接在apolloportaldb.serverconfig表修改数据
image.png
或
image.png修改后要在apollo-portal中修改配置,解开注释,配置对应的服务器地址,如果就一个环境就配置一个即可,记得要重启
image.png
3.部门配置:
直接在apolloportaldb.serverconfig表修改数据
image.png
或者
image.png
4.修改apollo-configservice默认端口8080为其他端口,需要修改对应的表数据和客户端的配置也要对应修改
image.png
5.本地启动下载跳到内网,需要配置以下,
vi apollo-configservice/config/application-github.properties和vi apollo-adminservice/config/application-github.properties
都添加一行配置,强制指定eureka服务
eureka.instance.ip-address=47.111.91.73
改之前
image.png
改完后
image.png
6.删除项目,namespace
只能通过这个界面删除,管理员登录,已有实例也会直接删除,请注意通知相关人员后再删除
image.png
7.application 没有点发布,会一直报错,即使是空配置,也要点发布
image.png
网友评论