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