Spring Cloud雲服務- HongHu雲架構common-service代碼結構分析
當前的分布式微服務雲架構平臺使用Maven構建,所以common-service的通用服務按照maven構建獨立的系統服務,結構如下:
particle-commonservice: spring cloud 系統服務根項目,所有服務項目的根依賴。particle-commonservice-admin: spring cloud/boot的微服務管理、監控平臺(裏面會集成很多的組件服務項目)
particle-commonservice-apigateway:API網關通用服務項目,所有的請求首先會經過這個網關。有點類似於前端控制器模式,也有點類似於 Facade模式。由於所有的請求會先經過這個 api 網關,所以可以在這裏做權限控制,安全,負載均衡,請求分發,監控等等。以下的一張圖片是從網上找的,方便大家理解:
particle-commonservice-cache:針對於分布式緩存提供服務化項目,封裝redis,ehcache等。
particle-commonservice-config: 提供獨立的微服務配置管理項目項目。配置管理工具包,讓你可以把配置放到遠程服務器,集中化管理集群配置,目前支持本地存儲、Git以及Subversion。
particle-commonservice-erueka: 提供獨立的微服務服務發現、註冊管理平臺。雲端服務發現,一個基於 REST 的服務,用於定位服務,以實現雲端中間層服務發現和故障轉移。
particle-commonservice-mq: 提供獨立的消息中間件服務平臺。包括對流行的阿裏rocketmq、rabbit mq、kafka分布式消息中間件的服務管理。
particle-commonservice-sso: 提供統一用戶登錄、認證單點登錄平臺。使用第三方OAuth2.0的解決方案,通過組織在資源擁有者和HTTP服務商之間的被批準的交互動作代表用戶,允許第三方應用代表用戶獲得訪問的權限。同時為Web應用,桌面應用和手機提供統一認證登錄服務。
particle-commonservice-turbine:是聚合服務器發送事件流數據的一個工具,用來監控集群下hystrix的metrics情況,提供獨立的服務項目。
particle-commonservice-zipkin:提供獨立的服務項目,為SpringCloud應用實現了一種分布式追蹤解決方案。分布式跟蹤系統數據流主要分為三個步驟:采集、發送和落盤分析,Zipkin官網給出的設計圖,方便大家理解:
從現在開始,我這邊會將近期研發的spring cloud微服務雲架構的搭建過程和精髓記錄下來,幫助更多有興趣研發spring cloud框架的朋友,大家來一起探討spring cloud架構的搭建過程及如何運用於企業項目。 資料源碼來源
Spring Cloud雲服務- HongHu雲架構common-service代碼結構分析