分布式部署
Apollo官方仅支持MySQL,若想支持postgresql,可参考xiao0yy在Apollo 0.10.2基础上开发的Pg适配代码
最新的版本也可参考这个版本,再修改一些sql,具体的代码未能上传
必要的部署步骤
服务端
初始化数据库
初始化脚本再项目中apollo/scripts/db/migration
编辑数据库
主要需要编辑的部分
apolloportaldb->server_config->apollo.portal.envs
支持的环境,大小写不敏感
默认支持的环境
dev,fat,uat,pro
,可自定义
apolloconfigdb->server_congig-<eureka.server.url
eureka地址,多个用,
隔开
如果是apollo configservice作为eureka,则填写configservice的地址
如果使用其他eureka,则填写其地址
configservice的编辑
configservice本身具有eureka的功能,如果要把config和admin注册到公司的其他eureka上,
修改configservice->com.ctrip.framework.apollo.configservice.ConfigServiceApplication
上的@EnableEurekaServer
改为@EnableEurekaClient
端口
以我配置的端口为例
/usr/local/apollo
portal:9900
config:9901
admin:9902
注意也要同步修改启动脚本
startup.sh
打包脚本
apollo/scripts/build.sh
# apollo config db info
apollo_config_db_url=jdbc:mysql://fill-in-the-correct-server:3306/ApolloConfigDB?characterEncoding=utf8
apollo_config_db_username=FillInCorrectUser
apollo_config_db_password=FillInCorrectPassword
# apollo portal db info
apollo_portal_db_url=jdbc:mysql://fill-in-the-correct-server:3306/ApolloPortalDB?characterEncoding=utf8
apollo_portal_db_username=FillInCorrectUser
apollo_portal_db_password=FillInCorrectPassword
# meta server url, different environments should have different meta server addresses
# 与`apolloportaldb->server_config->apollo.portal.env对应
dev_meta=http://fill-in-dev-meta-server:8080
启动服务
将target文件夹中的apollo-***-github.zip
解压缩,
执行/scripts/startup.sh
启动服务
执行/scripts/shutdown.sh
停止服务
自定义环境名称(可选)
客户端
依赖
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.1.0</version>
</dependency>
配置
# 指定环境
env: dev
app:
# 各环境相同,项目唯一
id: 10086
apollo:
# 对应的configservice地址
meta: http://...
# 集群
idc:
启动类
@EnableApolloConfig
版权声明:本文为zhuchencn原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。