當前的分布式微服務(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è)項目茄螃。源碼來源