springcloud是微服務(wù)架構(gòu)的集大成者,將一系列優(yōu)秀的組件進(jìn)行了整合。基于springboot構(gòu)建,對我們熟悉spring的程序員來說,上手比較容易。
通過一些簡單的注解,我們就可以快速的在應(yīng)用中配置一下常用模塊并構(gòu)建龐大的分布式系統(tǒng)。
SpringCloud的組件相當(dāng)繁雜,擁有諸多子項目。重點關(guān)注Netflix
,springcloud的版本說明:
springcloud項目是由多個獨立項目集合而成的,每個項目都是獨立的,各自進(jìn)行自己的迭代和版本發(fā)布。所以springcloud不方便使用版本號來管理,而是使用版本名。以避免和子項目版本號的沖突。
版本名的來源是倫敦的地鐵站名,以字母排序。比如最早的Release版本為Angel,第二個Release版本為Brixton。。。
當(dāng)一個版本的update積累的比較多或者解決了一個嚴(yán)重bug時,會發(fā)布一個ServiceRelease版本,簡稱SR,后面帶的數(shù)字就是該大版本下的第一次發(fā)布。
從官網(wǎng)上看,springcloud的F版本是基于springboot的2.0.x構(gòu)建,之前的是基于springboot的1.5.x構(gòu)建
下面只簡單介紹下經(jīng)常用的5個
服務(wù)發(fā)現(xiàn)——Netflix Eureka
客服端負(fù)載均衡——Netflix Ribbon
斷路器——Netflix Hystrix
服務(wù)網(wǎng)關(guān)——Netflix Zuul
分布式配置——Spring Cloud Config
Eureka
作用:實現(xiàn)服務(wù)治理(服務(wù)注冊與發(fā)現(xiàn))
簡介:Spring Cloud Eureka是Spring Cloud Netflix項目下的服務(wù)治理模塊。
由兩個組件組成:Eureka服務(wù)端和Eureka客戶端。
Eureka服務(wù)端用作服務(wù)注冊中心。支持集群部署。
Eureka客戶端是一個java客戶端,用來處理服務(wù)注冊與發(fā)現(xiàn)。
在應(yīng)用啟動時,Eureka客戶端向服務(wù)端注冊自己的服務(wù)信息,同時將服務(wù)端的服務(wù)信息緩存到本地。客戶端會和服務(wù)端周期性的進(jìn)行心跳交互,以更新服務(wù)租約和服務(wù)信息。
Ribbon
作用:Ribbon,主要提供客戶側(cè)的軟件負(fù)載均衡算法。
簡介:Spring Cloud Ribbon是一個基于HTTP和TCP的客戶端負(fù)載均衡工具,它基于Netflix Ribbon實現(xiàn)。通過Spring Cloud的封裝,可以讓我們輕松地將面向服務(wù)的REST模版請求自動轉(zhuǎn)換成客戶端負(fù)載均衡的服務(wù)調(diào)用。
注意看上圖,關(guān)鍵點就是將外界的rest調(diào)用,根據(jù)負(fù)載均衡策略轉(zhuǎn)換為微服務(wù)調(diào)用。Ribbon有比較多的負(fù)載均衡策略,以后專門講解。
Hystrix
作用:斷路器,保護(hù)系統(tǒng),控制故障范圍。
簡介:為了保證其高可用,單個服務(wù)通常會集群部署。由于網(wǎng)絡(luò)原因或者自身的原因,服務(wù)并不能保證100%可用,如果單個服務(wù)出現(xiàn)問題,調(diào)用這個服務(wù)就會出現(xiàn)線程阻塞,此時若有大量的請求涌入,Servlet容器的線程資源會被消耗完畢,導(dǎo)致服務(wù)癱瘓。服務(wù)與服務(wù)之間的依賴性,故障會傳播,會對整個微服務(wù)系統(tǒng)造成災(zāi)難性的嚴(yán)重后果,這就是服務(wù)故障的“雪崩”效應(yīng)。
Zuul
作用:api網(wǎng)關(guān),路由,負(fù)載均衡等多種作用
簡介:類似nginx,反向代理的功能,不過netflix自己增加了一些配合其他組件的特性。
在微服務(wù)架構(gòu)中,后端服務(wù)往往不直接開放給調(diào)用端,而是通過一個API網(wǎng)關(guān)根據(jù)請求的url,路由到相應(yīng)的服務(wù)。當(dāng)添加API網(wǎng)關(guān)后,在第三方調(diào)用端和服務(wù)提供方之間就創(chuàng)建了一面墻,這面墻直接與調(diào)用方通信進(jìn)行權(quán)限控制,后將請求均衡分發(fā)給后臺服務(wù)端。
Config
作用:配置管理
簡介:SpringCloud Config提供服務(wù)器端和客戶端。服務(wù)器存儲后端的默認(rèn)實現(xiàn)使用git,因此它輕松支持標(biāo)簽版本的配置環(huán)境,以及可以訪問用于管理內(nèi)容的各種工具。
這個還是靜態(tài)的,得配合Spring Cloud Bus實現(xiàn)動態(tài)的配置更新。
百度去下載
鏈接:https://pan.baidu.com/s/1n3Y99ooosLPbLPlnLE3_Ag
如需要獲取提取碼,請先 登錄
本文為張軍原創(chuàng)文章,轉(zhuǎn)載無需和我聯(lián)系,但請注明來自張軍的軍軍小站,個人博客http://www.dlhighland.cn
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
