當(dāng)前的分布式微服務(wù)云架構(gòu)平臺使用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)控平臺(里面會集成很多的組件服務(wù)項(xiàng)目)
particle-commonservice-apigateway:API網(wǎng)關(guān)通用服務(wù)項(xiàng)目沮稚,所有的請求首先會經(jīng)過這個網(wǎng)關(guān)客蹋。有點(diǎn)類似于前端控制器模式敞咧,也有點(diǎn)類似于 Facade模式。由于所有的請求會先經(jīng)過這個 api 網(wǎng)關(guān)偶翅,所以可以在這里做權(quán)限控制默勾,安全,負(fù)載均衡聚谁,請求分發(fā)母剥,監(jiān)控等等。以下的一張圖片是從網(wǎng)上找的形导,方便大家理解:
particle-commonservice-cache:針對于分布式緩存提供服務(wù)化項(xiàng)目环疼,封裝分布式緩存redis等。
particle-commonservice-config:?提供獨(dú)立的微服務(wù)配置管理項(xiàng)目項(xiàng)目朵耕。配置管理工具包炫隶,讓你可以把配置放到遠(yuǎn)程服務(wù)器,集中化管理集群配置阎曹,目前支持本地存儲伪阶、Git以及Subversion。
particle-commonservice-erueka:?提供獨(dú)立的微服務(wù)服務(wù)發(fā)現(xiàn)处嫌、注冊管理平臺栅贴。云端服務(wù)發(fā)現(xiàn),一個基于 REST 的服務(wù)熏迹,用于定位服務(wù)檐薯,以實(shí)現(xiàn)云端中間層服務(wù)發(fā)現(xiàn)和故障轉(zhuǎn)移。
particle-commonservice-mq:?提供獨(dú)立的消息中間件服務(wù)平臺注暗。包括對流行的阿里rocketmq坛缕、rabbit mq墓猎、kafka分布式消息中間件的服務(wù)管理(這里集成了多種方案,供使用者選擇)祷膳。
particle-commonservice-sso: 提供統(tǒng)一用戶登錄、認(rèn)證單點(diǎn)登錄平臺屡立。使用第三方OAuth2.0的解決方案直晨,通過組織在資源擁有者和HTTP服務(wù)商之間的被批準(zhǔn)的交互動作代表用戶,允許第三方應(yīng)用代表用戶獲得訪問的權(quán)限膨俐。同時為Web應(yīng)用勇皇,桌面應(yīng)用和手機(jī)提供統(tǒng)一認(rèn)證登錄服務(wù)。
particle-commonservice-turbine:是聚合服務(wù)器發(fā)送事件流數(shù)據(jù)的一個工具焚刺,用來監(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ù)流主要分為三個步驟:采集、發(fā)送和落盤分析蔓姚,Zipkin官網(wǎng)給出的設(shè)計圖捕虽,方便大家理解:
從現(xiàn)在開始,我這邊會將近期研發(fā)的spring cloud微服務(wù)云架構(gòu)的搭建過程和精髓記錄下來坡脐,幫助更多有興趣研發(fā)spring cloud框架的朋友泄私,大家來一起探討spring cloud架構(gòu)的搭建過程及如何運(yùn)用于企業(yè)項(xiàng)目。源碼來源