當(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)過(guò)這個(gè)網(wǎng)關(guān)。有點(diǎn)類(lèi)似于前端控制器模式什湘,也有點(diǎn)類(lèi)似于 Facade模式长赞。由于所有的請(qǐng)求會(huì)先經(jīng)過(guò)這個(gè) api 網(wǎng)關(guān),所以可以在這里做權(quán)限控制闽撤,安全得哆,負(fù)載均衡,請(qǐng)求分發(fā)哟旗,監(jiān)控等等贩据。以下的一張圖片是從網(wǎng)上找的,方便大家理解:
particle-commonservice-cache:針對(duì)于分布式緩存提供服務(wù)化項(xiàng)目闸餐,封裝redis饱亮,ehcache等。
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的解決方案荧止,通過(guò)組織在資源擁有者和HTTP服務(wù)商之間的被批準(zhǔn)的交互動(dòng)作代表用戶屹电,允許第三方應(yīng)用代表用戶獲得訪問(wèn)的權(quán)限阶剑。同時(shí)為Web應(yīng)用,桌面應(yīng)用和手機(jī)提供統(tǒng)一認(rèn)證登錄服務(wù)危号。
particle-commonservice-turbine:是聚合服務(wù)器發(fā)送事件流數(shù)據(jù)的一個(gè)工具牧愁,用來(lái)監(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ā)送和落盤(pán)分析磨确,Zipkin官網(wǎng)給出的設(shè)計(jì)圖,方便大家理解:
從現(xiàn)在開(kāi)始声邦,我這邊會(huì)將近期研發(fā)的spring cloud微服務(wù)云架構(gòu)的搭建過(guò)程和精髓記錄下來(lái)俐填,幫助更多有興趣研發(fā)spring cloud框架的朋友,大家來(lái)一起探討spring cloud架構(gòu)的搭建過(guò)程及如何運(yùn)用于企業(yè)項(xiàng)目翔忽。資料源碼來(lái)源