安裝部署請參考官網(wǎng):https://github.com/ctripcorp/apollo/wiki/分布式部署指南
多環(huán)境配置
假設配置dev,fat兩套環(huán)境
1.數(shù)據(jù)庫為一個apolloportaldb 兩個apolloconfigdb
2.服務為一個portal 兩個config 兩個admin
3.每個config和admin配置對應的數(shù)據(jù)庫配置
4.每個apolloconfigdb配置對應的eureka服務,注意ip端口

5.apolloportaldb庫配置多個環(huán)境

6.portal的apollo-env.properties 配置對應的服務

注意
-
1.假設有一個環(huán)境后面才配置,需要把app,appnamespace,cluster,namespace 四張表的數(shù)據(jù)手動insert全部導進去,不然會報錯
image.png -
2.查看各自的eureka服務,是否注冊錯亂,鼠標放上去,看左下角的ip是否錯亂
image.png
之前配置生產(chǎn)環(huán)境的時候,一直預發(fā)環(huán)境配置不顯示,原因是配置錯了,在上面紅的配置了,UAT, 老眼昏花了

springboot整合
1.application.properties配置
app.id=statistics
apollo.bootstrap.enabled=true
apollo.bootstrap.namespaces=application,jdbc
或者applicatoin.yml配置
app:
id: statistics
apollo:
bootstrap:
enabled: true
namespaces: application,jdbc
2.opt/settings/server.properties(windows版本在c盤)
apollo.meta=http://47.99.87.200:8080
#配置自定義緩存目錄
apollo.cacheDir=D:/workspace/openapi/datawarehouse-openapi-rpc-service/src/main/config
#配置本地開發(fā)
#env=Local
3.配置Local的方式

spring整合
1.spring只需要兩個配置,一個是app.properties,寫appid一行配置即可

2.在spring的配置文件中引入schema,然后配置
多個用逗號隔開
<apollo:config namespaces="openapi,application" />

3.新增opt/settings/server.properties配置文件
apollo.meta=http://47.99.87.200:8080
apollo.cacheDir=D:/workspace/openapi/datawarehouse-openapi-rpc-service/src/main/config //配置本地緩存目錄

4.本地調(diào)試

一些經(jīng)驗總結
1.java客戶端獲取當前環(huán)境代碼
Foundation.server().getEnvType();
2.apollo.portal.envs配置:
直接在apolloportaldb.serverconfig表修改數(shù)據(jù)

或

修改后要在apollo-portal中修改配置,解開注釋,配置對應的服務器地址,如果就一個環(huán)境就配置一個即可,記得要重啟

3.部門配置:
直接在apolloportaldb.serverconfig表修改數(shù)據(jù)

或者

4.修改apollo-configservice默認端口8080為其他端口,需要修改對應的表數(shù)據(jù)和客戶端的配置也要對應修改

5.本地啟動下載跳到內(nèi)網(wǎng),需要配置以下,
vi apollo-configservice/config/application-github.properties和vi apollo-adminservice/config/application-github.properties
都添加一行配置,強制指定eureka服務
eureka.instance.ip-address=47.111.91.73
改之前

改完后

6.刪除項目,namespace
只能通過這個界面刪除,管理員登錄,已有實例也會直接刪除,請注意通知相關人員后再刪除

7.application 沒有點發(fā)布,會一直報錯,即使是空配置,也要點發(fā)布


