介紹
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