我們從整體上來(lái)看一下Spring Cloud各個(gè)組件如何來(lái)配套使用:
從上圖可以看出Spring Cloud各個(gè)組件相互配合,合作支持了一套完整的微服務(wù)架構(gòu)蠢护。
其中Eureka負(fù)責(zé)服務(wù)的注冊(cè)與發(fā)現(xiàn)雅宾,很好將各服務(wù)連接起來(lái)
Hystrix 負(fù)責(zé)監(jiān)控服務(wù)之間的調(diào)用情況,連續(xù)多次失敗進(jìn)行熔斷保護(hù)葵硕。
Hystrix dashboard,Turbine 負(fù)責(zé)監(jiān)控 Hystrix的熔斷情況眉抬,并給予圖形化的展示
Spring Cloud Config 提供了統(tǒng)一的配置中心服務(wù)
當(dāng)配置文件發(fā)生變化的時(shí)候,Spring Cloud Bus 負(fù)責(zé)通知各服務(wù)去獲取最新的配置信息
所有對(duì)外的請(qǐng)求和服務(wù)懈凹,我們都通過(guò)Zuul來(lái)進(jìn)行轉(zhuǎn)發(fā)蜀变,起到API網(wǎng)關(guān)的作用
最后我們使用Sleuth+Zipkin將所有的請(qǐng)求數(shù)據(jù)記錄下來(lái),方便我們進(jìn)行后續(xù)分析
Spring Cloud從設(shè)計(jì)之初就考慮了絕大多數(shù)互聯(lián)網(wǎng)公司架構(gòu)演化所需的功能介评,如服務(wù)發(fā)現(xiàn)注冊(cè)库北、配置中心、消息總線威沫、負(fù)載均衡、斷路器棒掠、數(shù)據(jù)監(jiān)控等孵构。這些功能都是以插拔的形式提供出來(lái),方便我們系統(tǒng)架構(gòu)演進(jìn)的過(guò)程中烟很,可以合理的選擇需要的組件進(jìn)行集成颈墅,從而在架構(gòu)演進(jìn)的過(guò)程中會(huì)更加平滑蜡镶、順利。
微服務(wù)架構(gòu)是一種趨勢(shì)恤筛,Spring Cloud提供了標(biāo)準(zhǔn)化的官还、全站式的技術(shù)方案,意義可能會(huì)堪比當(dāng)前Servlet規(guī)范的誕生毒坛,有效推進(jìn)服務(wù)端軟件系統(tǒng)技術(shù)水平的進(jìn)步望伦。
從現(xiàn)在開(kāi)始,我這邊會(huì)將近期研發(fā)的spring?cloud微服務(wù)云架構(gòu)的搭建過(guò)程和精髓記錄下來(lái)煎殷,幫助更多有興趣研發(fā)spring cloud框架的朋友屯伞,希望可以幫助更多的好學(xué)者。大家來(lái)一起探討spring cloud架構(gòu)的搭建過(guò)程及如何運(yùn)用于企業(yè)項(xiàng)目豪直。源碼來(lái)源