统一配置相信各公司都有其应用场景,关于统一配置的好处及理解可以百度下,这里不多说了。
携程apollo统一配置项目地址为https://github.com/ctripcorp/apollo
关于apollo的分布式部署,借用官网一张部署图来说明
apollo分为三个部分 Config Service,Admin Service,Portal Service. 其中Config Service,Admin Service需要数据库ConfigDB,
Portal Service需要PortalDB.
Apollo目前支持以下环境:
Config Service,Admin Service 根据以上需要不同的环境部署一套,即4套(根据公司部署环境来选择,如果公司只有开发环境,测试环境,生产环境,那么你就部署3套),PortalService只需要部署一套。
各套环境互相是独立的,数据库可独立,服务器可独立。单套环境间是需要有网络依赖的,另PortalService需要能访问到各环境的MetaService(ConfigService)地址。
一、安装ConfigService
1服务器安装jdk1.8
2在对应环境的数据库上安装数据库及新建表(apollo官网下载ApolloConfigDB.sql,并执行ApolloConfigDB.sql)
3下载apollo-configservice-1.3.0-github.zip(官网可下载不同版本)发布包。
4修改包里的config\application-github.properties的文件,修改数据库地址,及用户名,密码配置。
5上传服务器,并解压缩,并执行/script/startup.sh
会看到启动成功,默认ConfigService的端口号为8080,直接访问ip:8080应该可以看到euraka界面。
ConfigService与euraka在一起。
二、安装Admin Service. (可以与ConfigService部署在一起)
1服务器安装jdk1.8 (与ConfigService部署在一起可忽略)
2在对应环境的数据库上安装数据库及新建表(apollo官网下载ApolloConfigDB.sql,并执行ApolloConfigDB.sql,与ConfigService部署在一起可忽略)
3下载apollo-adminservice-1.3.0-github.zip(官网可下载不同版本)发布包。
4修改包里的config\application-github.properties的文件,修改数据库地址,及用户名,密码配置。
5上传服务器,并解压缩,并执行/script/startup.sh
会看到启动成功,默认ConfigService的端口号为8090,直接访问ip:8090应该可以看到adminservice字样。
刷新ip:8080应该可以看到euraka界面中会发现8090的服务。
三、安装PortalService
1服务器安装jdk1.8
2在对应环境的数据库上安装数据库及新建表(apollo官网下载ApolloPortalDB.sql,并执行ApolloPortalDB.sql)
3下载apollo-portal-1.3.0-github.zip(官网可下载不同版本)发布包。
4修改包里的config\application-github.properties的文件,修改数据库地址,及用户名,密码配置。
5修改包里的apollo-env.properties的文件,该文件配置的是各环境的metaService地址。(MetaService地址和ConfigService地址是一样的),并修改apolloportaldb库的serviceconfig表中的apollo.portal.envs的value值增加对应的环境值,如DEV,PRO
6上传服务器,并解压缩,并执行/script/startup.sh
会看到启动成功,默认PortalService的端口号为8070,直接访问ip:8070应该可以看到apollo登录界面。
完整的一套安装就完毕了。
如果需要安装其他环境,每个环境的apolloconfigdb请分开部署,其他请参照ConfigService,AdminService的安装,然后把MetaService地址(ConfigService)地址更新到 PortalService的apollo-env.properties中,并修改apolloportaldb库的serviceconfig表中的apollo.portal.envs的value值增加对应的环境值,并重新启动就可以了。