當前的分散式微服務雲架構平臺使用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應用實現了一種分散式追蹤解決方案。分散式跟蹤系統資料流主要分為三個步驟:採集、傳送和落盤分析。
從現在開始,我這邊會將近期研發的spring cloud微服務雲架構的搭建過程和精髓記錄下來,幫助更多有興趣研發spring cloud框架的朋友,大家來一起探討spring cloud架構的搭建過程及如何運用於企業專案。
資料和原始碼來源:http://minglisoft.cn/honghu/technology.html