介绍
apollo-configservice:提供配置获取接口,提供配置更新推送接口,接口服务对象为Apollo客户端
apollo-adminservice:提供配置管理接口,提供配置修改、发布等接口,接口服务对象为Portal,以及Eureka
在Eureka之上我们架了一层Meta Server用于封装Eureka的服务发现接口
Client通过域名访问Meta Server获取Config Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Client侧会做load balance、错误重试
Portal通过域名访问Meta Server获取Admin Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Portal侧会做load balance、错误重试
为了简化部署,我们实际上会把Config Service、Eureka和Meta Server三个逻辑角色部署在同一个JVM进程中
Config Service 和 Admin Service 启动后都会注册到 Eureka 服务注册中心,并定期发送保活心跳。Eureka采用集群方式部署,使用分布式一致性协议保证每个实例的状态最终一致。
apollo-portal:提供Web界面供用户管理配置
apollo-client:Apollo提供的客户端程序,为应用提供配置获取、实时更新等功能
安装-安装包
protal是界面。
adminservice和configservice 各复制4份作为开发 测试 预生产 生产。
在centos7下创建文件夹 /usr/local/bin/apollo/
4、创建数据库
执行sql
https://github.com/ctripcorp/apollo/tree/master/scripts/sql
5、修改配置文件
DEV adminservice配置修改
路径/usr/local/bin/apollo/dev/adminservice/config/下面修改application-github.properties配置文件(数据库连接串)
# DataSource spring.datasource.url = jdbc:mysql://192.168.31.88:3306/ApolloConfigDBDEV?characterEncoding=utf8 spring.datasource.username = root spring.datasource.password = 123456
路径/usr/local/bin/apollo/dev/adminservice/scripts/下修改startup.sh(端口)
DEV configservice配置修改
路径/usr/local/bin/apollo/dev/configservice/config/下配置文件修改application-github.properties配置文件(数据库连接串)
路径/usr/local/bin/apollo/dev/configservice/scripts/下修改startup.sh(端口)
按照上面修改DEV的方式,一次修改FAT UAT PRO
端口
DEV
configservice:port 8082
adminservice:port 8083
FAT
configservice:port 8084
adminservice:port 8085
UAT
configservice:port 8086
adminservice:port 8087
PRD
configservice:port 8088
adminservice:port 8089
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Porto修改
路径/usr/local/bin/apollo/portal/config/下application-github.properties配置文件(数据库连接串)
路径/usr/local/bin/apollo/portal/config/下apollo-env.properties配置文件(configservice地址)
路径/usr/local/bin/apollo/portal/scripts//下startup.sh(端口修改)
6、配置数据库
DEV FAT UAT PRO各自
配置服务中心configservice地址
下图为dev环境的
Portal中配置对应的环境(不区分大小写,这个会对应portal的startup文中配置的)
6、启动各个环境
启动DEV adminservice
路径/usr/local/bin/apollo/dev/adminservice/下startup.sh
启动DEV configservice
路径/usr/local/bin/apollo/dev/configservice/script下startup.sh
启动完查看服务情况。因为eureka实在configservice中集成的所以直接访问configservice的地址 我的地址是http://192.168.31.88:8082/
然后在以此类推 启动 FAT UAT PRO环境的adminservice和configservice
待各个环境启动完后。在启动Portal
启动 目录/usr/local/bin/apollo/portal/scripts/下startup.sh文件
7、登录
全部启动完后就可以登录apollo后台了(portal地址)
http://192.168.31.88:8070/
默认账号密码(apollo admin)
安装-容器
docker run -p 8028:8080
-e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.31.88:3306/ApolloConfigDB?characterEncoding=utf8"
-e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456
-d -v /tmp/logs:/opt/logs --name apollo-configservice-pro apolloconfig/apollo-configservice
docker run -p 8083:8090
-e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.31.88:3306/ApolloConfigDBDockerDEV?characterEncoding=utf8"
-e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456
-d -v /tmp/logs:/opt/logs --name apollo-adminservice-dev apolloconfig/apollo-adminservice
docker run -p 8020:8070
-e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.31.88:3306/ApolloPortalDBDocker?characterEncoding=utf8"
-e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456
-e APOLLO_PORTAL_ENVS=dev,fat,uat,pro
-e DEV_META=http://192.168.31.101:8022 -e FAT_META=http://192.168.31.101:8024 -e UAT_META=http://192.168.31.101:8026 -e PRO_META=http://192.168.31.101:8028
-d -v /tmp/logs:/opt/logs --name apollo-portal apolloconfig/apollo-portal