阿波罗配置中心(apollo)的个人看法
阿波羅應(yīng)該是近幾年比較火的一個分布式配置中心了,說說我個人的理解,希望對一些人有用吧。
首先從使用者的角度想
我們怎么用配置中心的?
1.得有個頁面,能有權(quán)限管理,能有創(chuàng)建配置key-value。
在阿波羅中,這個頁面對應(yīng)的服務(wù)叫Protal。
存儲權(quán)限相關(guān)信息的,有個數(shù)據(jù)庫,叫Protal DB。
存儲配置文件信息的,也有個數(shù)據(jù)庫,叫config DB。
config DB對應(yīng)有個服務(wù)叫Admin Service,Protal就是調(diào)用它獲取的配置服務(wù)。
2.頁面配置好,接著就得在代碼中配置,與配置中心連接。
在阿波羅中,咱們的應(yīng)用服務(wù),就叫client。
在阿波羅中,有個服務(wù)叫config Service,它就專門給咱們的應(yīng)用服務(wù)client提供配置數(shù)據(jù)。
再從作者的角度想
怎么讓整體服務(wù)更穩(wěn)定,更全面?
1.阿波羅是一個基于spring-cloud的java項目。
要做分布式配置中心,那肯定是微服務(wù)那一套,服務(wù)的發(fā)現(xiàn)與注冊不能少,那既然都是cloud項目了,eureka先搞起來。
把config Service和Admin Service都注冊到eureka上。
2.那這個服務(wù),以后也不能只給java項目用,得支持其他語言啊
那就在eureka前面包一層服務(wù),這個服務(wù)主要包裝eureka的發(fā)現(xiàn)服務(wù),然后以http的接口暴漏出來。這個服務(wù)在阿波羅中叫Meta Server.
3.那這個Meta Server,也是個無狀態(tài)集群,怎么讓client或者portal發(fā)現(xiàn)它呢?
很簡單,負(fù)載均衡可以有,那就直接nginx搞起來。
總結(jié)
現(xiàn)在就有兩條線了
1.client通過nginx負(fù)載均衡,負(fù)載到一臺meta Server上,
然后在Eureka上獲取到對應(yīng)的Config Service,
最后拿到對應(yīng)的配置信息。
2.protal通過nginx負(fù)載均衡,負(fù)載到一臺meta Server上,
然后在Eureka上獲取到對應(yīng)的Admin Service,
最后拿到對應(yīng)的配置信息。
附1:
提供一張阿波羅作者提供的架構(gòu)圖:
software load balancer就是我們說的nginx負(fù)載均衡。
附2:
阿波羅github
總結(jié)
以上是生活随笔為你收集整理的阿波罗配置中心(apollo)的个人看法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存溢出,频繁full gc 处理思路
- 下一篇: mysql联合索引数据库查询数据会变慢_