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