當前的分佈式微服務雲架構平臺使用Maven構建,因此common-service的通用服務按照maven構建獨立的系統服務,結構以下:html
particle-commonservice: spring cloud 系統服務根項目,全部服務項目的根依賴。前端
particle-commonservice-admin: spring cloud/boot的微服務管理、監控平臺(裏面會集成不少的組件服務項目)redis
particle-commonservice-apigateway:API網關通用服務項目,全部的請求首先會通過這個網關。有點相似於前端控制器模式,也有點相似於 Facade模式。因爲全部的請求會先通過這個 api 網關,因此能夠在這裏作權限控制,安全,負載均衡,請求分發,監控等等。如下的一張圖片是從網上找的,方便你們理解:spring
particle-commonservice-cache:針對於分佈式緩存提供服務化項目,封裝redis,ehcache等。api
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架構的搭建過程及如何運用於企業項目 資料和源碼來源