當前的分布式微服務(wù)云架構(gòu)平臺使用Maven構(gòu)建齐帚,所以common-service的通用服務(wù)按照maven構(gòu)建獨立的系統(tǒng)服務(wù),結(jié)構(gòu)如下:
particle-commonservice: spring cloud 系統(tǒng)服務(wù)根項目彼哼,所有服務(wù)項目的根依賴对妄。
particle-commonservice-admin: spring cloud/boot的微服務(wù)管理、監(jiān)控平臺(里面會集成很多的組件服務(wù)項目)
particle-commonservice-apigateway:API網(wǎng)關(guān)通用服務(wù)項目敢朱,所有的請求首先會經(jīng)過這個網(wǎng)關(guān)剪菱。有點類似于前端控制器模式,也有點類似于 Facade模式拴签。由于所有的請求會先經(jīng)過這個 api 網(wǎng)關(guān)孝常,所以可以在這里做權(quán)限控制,安全蚓哩,負載均衡构灸,請求分發(fā),監(jiān)控等等岸梨。以下的一張圖片是從網(wǎng)上找的冻押,方便大家理解:
particle-commonservice-cache:針對于分布式緩存提供服務(wù)化項目,封裝分布式緩存redis等盛嘿。
particle-commonservice-config:?提供獨立的微服務(wù)配置管理項目項目洛巢。配置管理工具包,讓你可以把配置放到遠程服務(wù)器次兆,集中化管理集群配置稿茉,目前支持本地存儲、Git以及Subversion芥炭。
particle-commonservice-erueka:?提供獨立的微服務(wù)服務(wù)發(fā)現(xiàn)漓库、注冊管理平臺。云端服務(wù)發(fā)現(xiàn)园蝠,一個基于 REST 的服務(wù)渺蒿,用于定位服務(wù),以實現(xiàn)云端中間層服務(wù)發(fā)現(xiàn)和故障轉(zhuǎn)移彪薛。
particle-commonservice-mq:?提供獨立的消息中間件服務(wù)平臺茂装。包括對流行的阿里rocketmq、rabbit mq善延、kafka分布式消息中間件的服務(wù)管理(這里集成了多種方案少态,供使用者選擇)。
particle-commonservice-sso: 提供統(tǒng)一用戶登錄易遣、認證單點登錄平臺彼妻。使用第三方OAuth2.0的解決方案,通過組織在資源擁有者和HTTP服務(wù)商之間的被批準的交互動作代表用戶,允許第三方應(yīng)用代表用戶獲得訪問的權(quán)限侨歉。同時為Web應(yīng)用屋摇,桌面應(yīng)用和手機提供統(tǒng)一認證登錄服務(wù)。
particle-commonservice-turbine:是聚合服務(wù)器發(fā)送事件流數(shù)據(jù)的一個工具幽邓,用來監(jiān)控集群下hystrix的metrics情況摊册,提供獨立的服務(wù)項目。
particle-commonservice-zipkin:提供獨立的服務(wù)項目颊艳,為SpringCloud應(yīng)用實現(xiàn)了一種分布式追蹤解決方案茅特。分布式跟蹤系統(tǒng)數(shù)據(jù)流主要分為三個步驟:采集、發(fā)送和落盤分析棋枕,Zipkin官網(wǎng)給出的設(shè)計圖白修,方便大家理解:
從現(xiàn)在開始,我這邊會將近期研發(fā)的spring cloud微服務(wù)云架構(gòu)的搭建過程和精髓記錄下來重斑,幫助更多有興趣研發(fā)spring cloud框架的朋友兵睛,大家來一起探討spring cloud架構(gòu)的搭建過程及如何運用于企業(yè)項目。源碼來源