Apollo的使用配置

分布式部署

github地址

官方分布式部署指南

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.urleureka地址,多个用,隔开

如果是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停止服务

自定义环境名称(可选)

部署&开发遇到的常见问题#42-添加自定义的环境

客户端

依赖
    <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版权协议,转载请附上原文出处链接和本声明。