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