當(dāng)前的分布式微服務(wù)云架構(gòu)平臺(tái)使用Maven構(gòu)建,所以common-service的通用服務(wù)按照maven構(gòu)建獨(dú)立的系統(tǒng)服務(wù),結(jié)構(gòu)如下:

particle-commonservice: spring cloud 系統(tǒng)服務(wù)根項(xiàng)目,所有服務(wù)項(xiàng)目的根依賴。
particle-commonservice-admin: spring cloud/boot的微服務(wù)管理、監(jiān)控平臺(tái)(里面會(huì)集成很多的組件服務(wù)項(xiàng)目)
particle-commonservice-apigateway:API網(wǎng)關(guān)通用服務(wù)項(xiàng)目,所有的請(qǐng)求首先會(huì)經(jīng)過這個(gè)網(wǎng)關(guān)。有點(diǎn)類似于前端控制器模式,也有點(diǎn)類似于 Facade模式。由于所有的請(qǐng)求會(huì)先經(jīng)過這個(gè) api 網(wǎng)關(guān),所以可以在這里做權(quán)限控制,安全,負(fù)載均衡,請(qǐng)求分發(fā),監(jiān)控等等。以下的一張圖片是從網(wǎng)上找的,方便大家理解:

particle-commonservice-cache:針對(duì)于分布式緩存提供服務(wù)化項(xiàng)目,封裝分布式緩存redis等。
particle-commonservice-config:?提供獨(dú)立的微服務(wù)配置管理項(xiàng)目項(xiàng)目。配置管理工具包,讓你可以把配置放到遠(yuǎn)程服務(wù)器,集中化管理集群配置,目前支持本地存儲(chǔ)、Git以及Subversion。
particle-commonservice-erueka:?提供獨(dú)立的微服務(wù)服務(wù)發(fā)現(xiàn)、注冊(cè)管理平臺(tái)。云端服務(wù)發(fā)現(xiàn),一個(gè)基于 REST 的服務(wù),用于定位服務(wù),以實(shí)現(xiàn)云端中間層服務(wù)發(fā)現(xiàn)和故障轉(zhuǎn)移。
particle-commonservice-mq:?提供獨(dú)立的消息中間件服務(wù)平臺(tái)。包括對(duì)流行的阿里rocketmq、rabbit mq、kafka分布式消息中間件的服務(wù)管理(這里集成了多種方案,供使用者選擇)。
particle-commonservice-sso: 提供統(tǒng)一用戶登錄、認(rèn)證單點(diǎn)登錄平臺(tái)。使用第三方OAuth2.0的解決方案,通過組織在資源擁有者和HTTP服務(wù)商之間的被批準(zhǔn)的交互動(dòng)作代表用戶,允許第三方應(yīng)用代表用戶獲得訪問的權(quán)限。同時(shí)為Web應(yīng)用,桌面應(yīng)用和手機(jī)提供統(tǒng)一認(rèn)證登錄服務(wù)。
particle-commonservice-turbine:是聚合服務(wù)器發(fā)送事件流數(shù)據(jù)的一個(gè)工具,用來監(jiān)控集群下hystrix的metrics情況,提供獨(dú)立的服務(wù)項(xiàng)目。
particle-commonservice-zipkin:提供獨(dú)立的服務(wù)項(xiàng)目,為SpringCloud應(yīng)用實(shí)現(xiàn)了一種分布式追蹤解決方案。分布式跟蹤系統(tǒng)數(shù)據(jù)流主要分為三個(gè)步驟:采集、發(fā)送和落盤分析,Zipkin官網(wǎng)給出的設(shè)計(jì)圖,方便大家理解:

從現(xiàn)在開始,我這邊會(huì)將近期研發(fā)的spring cloud微服務(wù)云架構(gòu)的搭建過程和精髓記錄下來,幫助更多有興趣研發(fā)spring cloud框架的朋友,大家來一起探討spring cloud架構(gòu)的搭建過程及如何運(yùn)用于企業(yè)項(xiàng)目。源碼來源