Spring Cloud 項(xiàng)目一覽表

微服務(wù)的理解:? 就是把一個(gè)項(xiàng)目拆分為多個(gè)項(xiàng)目扶认, 項(xiàng)目之間進(jìn)行獨(dú)立運(yùn)行获三。 通過Http或者Socket來進(jìn)行通信處理數(shù)據(jù)和調(diào)用只怎。

Spring? Cloud? Eureka(服務(wù)治理):?

?? ? ? 服務(wù)治理: 服務(wù)治理是微服務(wù)架構(gòu)中最為核心和基礎(chǔ)的模塊,它主要用來實(shí)現(xiàn)各個(gè)微服務(wù)實(shí)例的自動化注冊和發(fā)現(xiàn)险毁。

?? ? ? 服務(wù)注冊: 在服務(wù)治理框架中,通常都會構(gòu)建一個(gè)注冊中心们童,每個(gè)服務(wù)單元向注冊中心登記自己提供的服務(wù)畔况,包括服務(wù)的主機(jī)與端口號、服務(wù)版本號慧库、通訊協(xié)議等一些附加信息跷跪。注冊中心按照服務(wù)名分類組織服務(wù)清單,同時(shí)還需要以心跳檢測的方式去監(jiān)測清單中的服務(wù)是否可用齐板,若不可用需要從服務(wù)清單中剔除吵瞻,以達(dá)到排除故障服務(wù)的效果。

? ? ? 服務(wù)發(fā)現(xiàn): 在服務(wù)治理框架下甘磨,服務(wù)間的調(diào)用不再通過指定具體的實(shí)例地址來實(shí)現(xiàn)橡羞,而是通過服務(wù)名發(fā)起請求調(diào)用實(shí)現(xiàn)。服務(wù)調(diào)用方通過服務(wù)名從服務(wù)注冊中心的服務(wù)清單中獲取服務(wù)實(shí)例的列表清單济舆,通過指定的負(fù)載均衡策略取出一個(gè)服務(wù)實(shí)例位置來進(jìn)行服務(wù)調(diào)用卿泽。

?? ? Eureka服務(wù)端:Eureka服務(wù)端,即服務(wù)注冊中心滋觉。它同其他服務(wù)注冊中心一樣签夭,支持高可用配置。依托于強(qiáng)一致性提供良好的服務(wù)實(shí)例可用性椎侠,可以應(yīng)對多種不同的故障場景第租。Eureka服務(wù)端支持集群模式部署,當(dāng)集群中有分片發(fā)生故障的時(shí)候我纪,Eureka會自動轉(zhuǎn)入自我保護(hù)模式煌妈。它允許在分片發(fā)生故障的時(shí)候繼續(xù)提供服務(wù)的發(fā)現(xiàn)和注冊,當(dāng)故障分配恢復(fù)時(shí)宣羊,集群中的其他分片會把他們的狀態(tài)再次同步回來。集群中的的不同服務(wù)注冊中心通過異步模式互相復(fù)制各自的狀態(tài)汰蜘,這也意味著在給定的時(shí)間點(diǎn)每個(gè)實(shí)例關(guān)于所有服務(wù)的狀態(tài)可能存在不一致的現(xiàn)象仇冯。

?? ? 詳細(xì)介紹地址: https://blog.csdn.net/sunhuiliang85/article/details/76222517?

Spring? Cloud? Ribbon(客戶端負(fù)載均衡):

? ? ? Spring Cloud Ribbon 是一個(gè)基于Http和TCP的客服端負(fù)載均衡工具,它是基于Netflix Ribbon實(shí)現(xiàn)的族操。它不像服務(wù)注冊中心苛坚、配置中心比被、API網(wǎng)關(guān)那樣獨(dú)立部署,但是它幾乎存在于每個(gè)微服務(wù)的基礎(chǔ)設(shè)施中泼舱。包括前面的提供的聲明式服務(wù)調(diào)用也是基于該Ribbon實(shí)現(xiàn)的等缀。理解Ribbon對于我們使用Spring Cloud來講非常的重要,因?yàn)樨?fù)載均衡是對系統(tǒng)的高可用娇昙、網(wǎng)絡(luò)壓力的緩解和處理能力擴(kuò)容的重要手段之一尺迂。

?? ? 使用springcloud ribbon實(shí)現(xiàn)與eureka的配合

?ribbon可從eureka服務(wù)注冊表中獲取服務(wù)提供者的地址列表,使用一定的負(fù)載均衡算法冒掌,Ribbon的工作主要分為2步噪裕。

1.先選擇eureka service ,優(yōu)先選擇一個(gè)zone負(fù)載較小的service股毫。

2.根據(jù)用戶制定策膳音,從service取得eureka 服務(wù)注冊表中選擇一個(gè)地址。

提供的策略:輪詢Round Robin铃诬、隨機(jī)Random祭陷、ResponseTime加權(quán)

Spring? Cloud? Hystrix(服務(wù)容錯(cuò)保護(hù)):

? ? 在微服務(wù)架構(gòu)中通常會有多個(gè)服務(wù)層調(diào)用,基礎(chǔ)服務(wù)的故障可能會導(dǎo)致級聯(lián)故障趣席,進(jìn)而造成整個(gè)系統(tǒng)不可用的情況兵志,這種現(xiàn)象被稱為服務(wù)雪崩效應(yīng)。服務(wù)雪崩效應(yīng)是一種因“服務(wù)提供者”的不可用導(dǎo)致“服務(wù)消費(fèi)者”的不可用,并將不可用逐漸放大的過程吩坝。

? ? 熔斷器的原理很簡單毒姨,如同電力過載保護(hù)器。它可以實(shí)現(xiàn)快速失敗钉寝,如果它在一段時(shí)間內(nèi)偵測到許多類似的錯(cuò)誤弧呐,會強(qiáng)迫其以后的多個(gè)調(diào)用快速失敗,不再訪問遠(yuǎn)程服務(wù)器嵌纲,從而防止應(yīng)用程序不斷地嘗試執(zhí)行可能會失敗的操作俘枫,使得應(yīng)用程序繼續(xù)執(zhí)行而不用等待修正錯(cuò)誤,或者浪費(fèi)CPU時(shí)間去等到長時(shí)間的超時(shí)產(chǎn)生逮走。熔斷器也可以使應(yīng)用程序能夠診斷錯(cuò)誤是否已經(jīng)修正鸠蚪,如果已經(jīng)修正,應(yīng)用程序會再次嘗試調(diào)用操作师溅。

熔斷器模式就像是那些容易導(dǎo)致錯(cuò)誤的操作的一種代理茅信。這種代理能夠記錄最近調(diào)用發(fā)生錯(cuò)誤的次數(shù),然后決定使用允許操作繼續(xù)墓臭,或者立即返回錯(cuò)誤蘸鲸。

? 斷路器很好理解, 當(dāng)Hystrix Command請求后端服務(wù)失敗數(shù)量超過一定比例(默認(rèn)50%), 斷路器會切換到開路狀態(tài)(Open). 這時(shí)所有請求會直接失敗而不會發(fā)送到后端服務(wù). 斷路器保持在開路狀態(tài)一段時(shí)間后(默認(rèn)5秒), 自動切換到半開路狀態(tài)(HALF-OPEN). 這時(shí)會判斷下一次請求的返回情況, 如果請求成功, 斷路器切回閉路狀態(tài)(CLOSED), 否則重新切換到開路狀態(tài)(OPEN). Hystrix的斷路器就像我們家庭電路中的保險(xiǎn)絲, 一旦后端服務(wù)不可用, 斷路器會直接切斷請求鏈, 避免發(fā)送大量無效請求影響系統(tǒng)吞吐量, 并且斷路器有自我檢測并恢復(fù)的能力.

?? 詳細(xì)介紹地址: https://www.cnblogs.com/ityouknow/p/6868833.html

Spring? Cloud? Feign(聲明式服務(wù)調(diào)用):

? ? Feign是一種聲明式、模板化的HTTP客戶端窿锉。在Spring Cloud中使用Feign, 我們可以做到使用HTTP請求遠(yuǎn)程服務(wù)時(shí)能與調(diào)用本地方法一樣的編碼體驗(yàn)酌摇,開發(fā)者完全感知不到這? ? ? 是遠(yuǎn)程方法膝舅,更感知不到這是個(gè)HTTP請求

?? ? ? 詳細(xì)介紹地址:https://blog.csdn.net/neosmith/article/details/52449921

Spring Cloud ? Zuul(API網(wǎng)關(guān)服務(wù)): ? 過濾:安全、監(jiān)控窑多、限流仍稀、路由

基于Spring的微服務(wù)結(jié)點(diǎn)在能力上沒有高低貴賤之分,但是在角色上會分為邊緣服務(wù)和內(nèi)部服務(wù)兩部分埂息。內(nèi)部服務(wù)顧名思義是為對內(nèi)暴露服務(wù)的結(jié)點(diǎn)技潘,供架構(gòu)內(nèi)部來調(diào)用;邊緣服務(wù)是對外部網(wǎng)絡(luò)暴露的服務(wù)結(jié)點(diǎn)耿芹,也就是對外API接口崭篡。


開發(fā)人員頭疼的地方:為了防止我的程序在網(wǎng)絡(luò)上被人攻擊,我們需要寫各種權(quán)限機(jī)制吧秕,這些機(jī)制在每個(gè)微服務(wù)結(jié)點(diǎn)都要實(shí)現(xiàn)一次琉闪。一旦鑒權(quán)上有什么bug,又要全部節(jié)點(diǎn)上推倒重來砸彬,噩夢颠毙。

運(yùn)維人員頭疼的地方:邊緣服務(wù)前段都會架一個(gè)F5或者Nginx等負(fù)載均衡的代理,需要手動維護(hù)一份服務(wù)列表和服務(wù)地址的路由信息砂碉,隨著結(jié)點(diǎn)的擴(kuò)展或地址調(diào)整這份列表要變來變?nèi)ァ?/p>

為了解決鑒權(quán)重復(fù)的問題蛀蜜,使業(yè)務(wù)結(jié)點(diǎn)本身只關(guān)心實(shí)現(xiàn)自己的業(yè)務(wù),將對權(quán)限的處理抽離到上層增蹭。外部客戶先請求到Zuul上滴某,在Zuul服務(wù)上對權(quán)限進(jìn)行統(tǒng)一實(shí)現(xiàn)和過濾,以實(shí)現(xiàn)微服務(wù)結(jié)點(diǎn)的過濾和驗(yàn)證滋迈。

為了解決請求路由和安全過濾霎奢,Spring Cloud推出了一個(gè)API gateway組件:Spring Cloud Zuul。

在路由方面饼灿,Zuul將自己作為一個(gè)微服務(wù)結(jié)點(diǎn)注冊到Eureka上幕侠,就獲取了所有微服務(wù)的實(shí)例信息,同時(shí)又以服務(wù)名為ContextPath的方式創(chuàng)建路由映射碍彭。

詳細(xì)介紹: https://blog.csdn.net/yejingtao703/article/details/77816555/

Spring Cloud ? Config(分布式配置中心):

在分布式系統(tǒng)中晤硕,每一個(gè)功能模塊都能拆分成一個(gè)獨(dú)立的服務(wù),一次請求的完成庇忌,可能會調(diào)用很多個(gè)服務(wù)協(xié)調(diào)來完成舞箍,為了方便服務(wù)配置文件統(tǒng)一管理,更易于部署皆疹、維護(hù)创译,所以就需要分布式配置中心組件了,在spring cloud中墙基,有分布式配置中心組件spring cloud config软族,它支持配置文件放在在配置服務(wù)的內(nèi)存中,也支持放在遠(yuǎn)程Git倉庫里残制。引入spring cloud config后立砸,我們的外部配置文件就可以集中放置在一個(gè)git倉庫里,再新建一個(gè)config server初茶,用來管理所有的配置文件颗祝,維護(hù)的時(shí)候需要更改配置時(shí),只需要在本地更改后恼布,推送到遠(yuǎn)程倉庫螺戳,所有的服務(wù)實(shí)例都可以通過config server來獲取配置文件,這時(shí)每個(gè)服務(wù)實(shí)例就相當(dāng)于配置服務(wù)的客戶端config client,為了保證系統(tǒng)的穩(wěn)定折汞,配置服務(wù)端config server可以進(jìn)行集群部署倔幼,即使某一個(gè)實(shí)例,因?yàn)槟撤N原因不能提供服務(wù)爽待,也還有其他的實(shí)例保證服務(wù)的繼續(xù)進(jìn)行损同。

詳細(xì)介紹: https://blog.csdn.net/fox9916/article/details/79499854/

Spring Cloud? ? Bus(消息總線):

Spring Cloud Bus 將分布式的節(jié)點(diǎn)用輕量的消息代理連接起來。它可以用于廣播配置文件的更改或者服務(wù)之間的通訊鸟款,也可以用于監(jiān)控膏燃。

消息總線是一種通信工具,可以在機(jī)器之間互相傳輸消息何什、文件等组哩。消息總線扮演著一種消息路由的角色,擁有一套完備的路由機(jī)制來決定消息傳輸方向处渣。發(fā)送段只需要向消息總線發(fā)出消息而不用管消息被如何轉(zhuǎn)發(fā)伶贰。Spring cloud bus 通過輕量消息代理連接各個(gè)分布的節(jié)點(diǎn)。管理和傳播所有分布式項(xiàng)目中的消息霍比,本質(zhì)是利用了MQ的廣播機(jī)制在分布式的系統(tǒng)中傳播消息幕袱,目前常用的有Kafka和RabbitMQ。

1悠瞬、提交代碼觸發(fā)post請求給bus/refresh

2们豌、server端接收到請求并發(fā)送給Spring Cloud Bus

3、Spring Cloud bus接到消息并通知給其它客戶端

4浅妆、其它客戶端接收到通知望迎,請求Server端獲取最新配置

5、全部客戶端均獲取到最新的配置

? 詳細(xì)介紹: https://blog.csdn.net/jack281706/article/details/73742522

Spring Cloud? ? Stream(消息驅(qū)動微服務(wù)):

消息驅(qū)動理解: Windows消息是凌外,當(dāng)一個(gè)窗體或者控件需要讓另外一個(gè)窗體或者消息執(zhí)行某個(gè)動作辩尊,就向那個(gè)窗體發(fā)一個(gè)消息,放到對方的消息隊(duì)列中康辑,然后對方有一個(gè)消息循環(huán)不停的讀取消息隊(duì)列摄欲,并執(zhí)行相應(yīng)的動作轿亮。

簡單的講就是一種生產(chǎn)者,消費(fèi)者模式胸墙。發(fā)布者是生產(chǎn)我注,將輸出發(fā)布到數(shù)據(jù)中心,訂閱者是消費(fèi)者迟隅,訂閱自己感興趣的數(shù)據(jù)但骨。當(dāng)有數(shù)據(jù)到達(dá)數(shù)據(jù)中心時(shí),就把數(shù)據(jù)發(fā)送給對應(yīng)的訂閱者智袭。

消息中間件簡介: ? 詳細(xì)介紹:https://www.cnblogs.com/bluestorm/p/6633492.html

Spring Cloud? ? Sleuth(分布式服務(wù)跟蹤)

在微服務(wù)框架中奔缠,一個(gè)由客戶端發(fā)起的請求在后端系統(tǒng)中會經(jīng)過多個(gè)不同的的服務(wù)節(jié)點(diǎn)調(diào)用來協(xié)同產(chǎn)生最后的請求結(jié)果,每一個(gè)前段請求都會形成一條復(fù)雜的分布式服務(wù)調(diào)用鏈路吼野,鏈路中的任何一環(huán)出現(xiàn)高延時(shí)或錯(cuò)誤都會引起整個(gè)請求最后的失敗校哎。

Spring Cloud Sleuth提供了一套完整的服務(wù)跟蹤的解決方案。

Spring? Cloud? Shiro(安全權(quán)限控制):? ? 這個(gè)是進(jìn)入系統(tǒng)了箫锤, 然后進(jìn)行處理贬蛙。 Zuul這個(gè)是路由器的管理,在系統(tǒng)未進(jìn)入之前管理谚攒。?

Spring Cloud Data Flow: 大數(shù)據(jù)操作組建阳准,Spring XD的替代品,也是一個(gè)混合計(jì)算的模型馏臭,可以通過命令的方式操作數(shù)據(jù)流野蝇。

Spring Cloud Security: 安全模塊組件,是對Spring Security的封裝括儒,通常配合OAuth2使用來保護(hù)微服務(wù)系統(tǒng)的安全绕沈。

Spring Cloud Consul: 該組件是對Spring Cloud對Consul的封裝,和Eureka類似帮寻,他是另一個(gè)服務(wù)注冊和發(fā)現(xiàn)組件乍狐。

Spring Cloud Zookeep: 該組件是Spring Cloud 對Zookeeper的封裝和Eureka,Consul類似固逗,用于服務(wù)注冊和發(fā)現(xiàn)組件浅蚪。

Spring CLoud CLI: 該組件是Spring cloud 對Spring boot CLI的封裝,可以用命令(CMD)方式快速執(zhí)行運(yùn)行和搭建容器烫罩。

Spring Cloud Task: 該組件基于Spring Task惜傲, 提供了任務(wù)調(diào)度和任務(wù)管理的功能。

Spring Cloud Connectors: 用于Pass平臺鏈接到后端贝攒。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盗誊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哈踱,老刑警劉巖荒适,帶你破解...
    沈念sama閱讀 216,744評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異嚣鄙,居然都是意外死亡吻贿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評論 3 392
  • 文/潘曉璐 我一進(jìn)店門哑子,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人肌割,你說我怎么就攤上這事卧蜓。” “怎么了把敞?”我有些...
    開封第一講書人閱讀 163,105評論 0 353
  • 文/不壞的土叔 我叫張陵弥奸,是天一觀的道長。 經(jīng)常有香客問我奋早,道長盛霎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,242評論 1 292
  • 正文 為了忘掉前任耽装,我火速辦了婚禮愤炸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘掉奄。我一直安慰自己规个,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評論 6 389
  • 文/花漫 我一把揭開白布姓建。 她就那樣靜靜地躺著诞仓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪速兔。 梳的紋絲不亂的頭發(fā)上墅拭,一...
    開封第一講書人閱讀 51,215評論 1 299
  • 那天,我揣著相機(jī)與錄音涣狗,去河邊找鬼谍婉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛屑柔,可吹牛的內(nèi)容都是我干的屡萤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,096評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼掸宛,長吁一口氣:“原來是場噩夢啊……” “哼死陆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,939評論 0 274
  • 序言:老撾萬榮一對情侶失蹤措译,失蹤者是張志新(化名)和其女友劉穎别凤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體领虹,經(jīng)...
    沈念sama閱讀 45,354評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡规哪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了塌衰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诉稍。...
    茶點(diǎn)故事閱讀 39,745評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖最疆,靈堂內(nèi)的尸體忽然破棺而出杯巨,到底是詐尸還是另有隱情,我是刑警寧澤努酸,帶...
    沈念sama閱讀 35,448評論 5 344
  • 正文 年R本政府宣布服爷,位于F島的核電站,受9級特大地震影響获诈,放射性物質(zhì)發(fā)生泄漏仍源。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評論 3 327
  • 文/蒙蒙 一舔涎、第九天 我趴在偏房一處隱蔽的房頂上張望笼踩。 院中可真熱鬧,春花似錦终抽、人聲如沸戳表。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽匾旭。三九已至,卻和暖如春圃郊,著一層夾襖步出監(jiān)牢的瞬間价涝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評論 1 269
  • 我被黑心中介騙來泰國打工持舆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留色瘩,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,776評論 2 369
  • 正文 我出身青樓逸寓,卻偏偏與公主長得像居兆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子竹伸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評論 2 354

推薦閱讀更多精彩內(nèi)容