apollo高可用集群搭建教程 Apollo干啥用?
Apollo干啥用?一.計劃簡介1.Apollo是攜程框架部開發(fā)的分布式配置中心。2.集中管理不同的應(yīng)用程序環(huán)境和不同集群的配置。3.配置修改后,可以實時推送到應(yīng)用端。4、具有標(biāo)準(zhǔn)化權(quán)限、流程化管理等
Apollo干啥用?
一.計劃簡介
1.Apollo是攜程框架部開發(fā)的分布式配置中心。
2.集中管理不同的應(yīng)用程序環(huán)境和不同集群的配置。
3.配置修改后,可以實時推送到應(yīng)用端。
4、具有標(biāo)準(zhǔn)化權(quán)限、流程化管理等特點。
第二,組件
Apollo包括一個服務(wù)器和一個客戶端。
服務(wù)器:基于Spring Boot和SpringCloud的開發(fā),打包后可以直接運(yùn)行,不需要安裝Tomcat等額外的應(yīng)用容器。
Java客戶端:獨立于任何框架,可以在所有Java運(yùn)行時環(huán)境下運(yùn)行,對Spring/Spring Boot環(huán)境也有很好的支持。
第三,的特點
1.同意管理不同環(huán)境和不同集群的配置。
2.配置修改實時生效(熱發(fā)布)
3.版本發(fā)布管理——所有的配置都有一個版本概念,方便配置回滾。
4.灰度發(fā)布——點擊發(fā)布,僅對部分應(yīng)用實例生效,觀察一段時間沒有問題后,再推送給所有應(yīng)用實例。
5.權(quán)限管理、發(fā)布審核和操作審核
權(quán)限管理——有完善的權(quán)限管理。
發(fā)布評審——配置管理分為兩個步驟:編輯和發(fā)布,以減少人為錯誤。
操作審計–所有操作都有審計日志,這有助于跟蹤問題。
6.監(jiān)控客戶端配置信息——在界面上可以方便地看到哪些實例正在使用配置。
7.提供java和。net native clients來促進(jìn)應(yīng)用程序集成。
8.提供了http接口,并且非java和。net應(yīng)用程序也可以方便地使用。
9.提供開放式平套API
10.部署非常簡單。只要安裝了Java和MySQL,Apollo就可以運(yùn)行。
第四,實施過程
1.用戶在配置中心修改和發(fā)布配置。
2.配置中心通知Apollo客戶機(jī)配置更新。
3.Apollo客戶端從配置中心獲取最新的配置,更新本地配置并通知應(yīng)用程序。
五、工作原理
上圖簡單描述了的整體設(shè)計,我們可以從下往上看:
1.配置服務(wù)提供讀取、推送配置等功能,服務(wù)對象為Apollo客戶端。
Service提供配置修改、發(fā)布等功能,服務(wù)對象是Apollo Portal(管理界面)。
3.配置服務(wù)和管理服務(wù)是多實例和無狀態(tài)的部署,因此您需要在Eureka中注冊自己并保持心跳。
4.在Eureka之上,我們設(shè)置了一層元服務(wù)器來封裝Eureka的服務(wù)發(fā)現(xiàn)接口。
5.客戶端通過域名訪問元。服務(wù)器獲取Config服務(wù)的服務(wù)列表(IP端口),然后通過IP端口直接訪問服務(wù)。同時,它會在客戶端進(jìn)行負(fù)載平衡和錯誤重試。
6.門戶通過域名訪問元服務(wù)器獲取Admin Service服務(wù)列表(IP端口),然后通過IP端口直接訪問服務(wù),同時會在門戶端做負(fù)載均衡和錯誤重試。
7.為了簡化部署,我們實際上將在同一個JVM進(jìn)程中部署三個邏輯角色:配置服務(wù)、Eureka和元服務(wù)器。