日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Cloud笔记

發(fā)布時(shí)間:2025/3/16 javascript 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Cloud笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

1、如何調(diào)用底層服務(wù)??RestTemplate

2、是如何找到底層服務(wù)的呢?Eureka

3.服務(wù)負(fù)載均衡?Ribbon

4.寫RestTemplate太繁瑣?提供方與調(diào)用方溝通成本大,效率不高??Open Feign

5、底層系統(tǒng)響應(yīng)慢,超負(fù)載要宕機(jī)了怎么辦? Hystrix

6.網(wǎng)關(guān)Zuul,Router and Filter,令牌桶限流(單機(jī))


?

1、如何調(diào)用底層服務(wù)??RestTemplate

rpc 調(diào)用。spring cloud 使用 http 作為底層協(xié)議。

spring 提供了一個(gè)訪問 http 服務(wù)的客戶端類 RestTemplate ,RestTemplate 傳入服務(wù)端服務(wù)名&端口&方法的Mapping路徑、服務(wù)端需要的Request參數(shù)、服務(wù)端的返回值

?

2、是如何找到底層服務(wù)的呢?Eureka

就像 Consumer 租房子,是如何找到有房出租的人?如何發(fā)現(xiàn)中意的房子?

簡(jiǎn)單粗暴法,一個(gè)個(gè)人去問,你有沒有房子出租?Provider是這個(gè)街區(qū)的本地人,他剛好有房,但是這個(gè)街區(qū)足足好幾萬人。對(duì)于供需雙方而言,效率太都過低下

有困難的地方就有生意?

這時(shí)Eureka出現(xiàn)了,這片區(qū)域所有有房出租的房東都會(huì)去Eureka那里登記,因?yàn)槁犝f登記之后房子曝光率大大提升了,好房子幾乎很快就能被租出去,Provider當(dāng)然要去試一試。需要房子的Consumer也聽說了這個(gè)消息,只需要花相比之前極少的時(shí)間就能獲得一個(gè)出租房列表,找到中意的房子。原來,Eureka就叫中介

房東電話打不通?房東不租了?

但有時(shí)候,房子列表也有寫問題,租房人找到房東,有電話打不通的,也有宕房東卻說不租了,這是怎么回事?原來,房子列表一直在增加信息,一些過時(shí)的信息卻沒有去掉,宕房東早就不想出租了,但忘記跟Eureka講,Eureka也沒主動(dòng)去問。聰明的Eureka想了個(gè)辦法,房屋出租服務(wù)續(xù)約:每隔一個(gè)規(guī)定時(shí)間,房東需要來告知他房子是否還出租;房屋出租服務(wù)剔除:3次沒有告知視為不出租了;Eureka將此項(xiàng)寫進(jìn)合同。這樣,出岔子的事幾乎沒有了,對(duì)并沒有完全解決,時(shí)不時(shí)還是會(huì)出現(xiàn)。Eureka認(rèn)為一定是房東的問題,這次他又在合同中加了一條,房屋出租服務(wù)下線:房東確定不想出租時(shí),必須及時(shí)通知!問題又有些許好轉(zhuǎn)。最后Eureka在一個(gè)找房子的顧客得到了答案,原來那個(gè)顧客用筆記記下了自己重點(diǎn)關(guān)注的幾個(gè)房子的信息,因?yàn)樘ΜF(xiàn)在房子也還沒有到期不是很急,半個(gè)月后才去聯(lián)系上面的房東。這難不倒,聰明的Eureka,他做了一個(gè)信息網(wǎng)站用以維護(hù)出租房屋的信息,這樣顧客就能及時(shí)在需要的時(shí)候獲取到新的信息,及時(shí)記錄下的重點(diǎn)信息有變動(dòng),也能及時(shí)更改。

Eureka集團(tuán)?生意大好,Eureka一個(gè)人忙不過來,于是Eureka集團(tuán)誕生了。

?

?

3.服務(wù)負(fù)載均衡?Ribbon

Nginx的集中式負(fù)載均衡,這也叫負(fù)載均衡?那你自己掛了怎么辦?Ribbon來幫忙

牛逼的負(fù)載均衡就是每個(gè)客戶端自己實(shí)現(xiàn)負(fù)載均衡!——Ribbon

負(fù)載均衡具體策略

默認(rèn)使用RoundRobinRule輪詢、RandomRule隨機(jī)、RetryRule先輪詢+重試

Ribbon建立在RestTemplate之上。

?

4.寫RestTemplate太繁瑣?提供方與調(diào)用方溝通成本大,效率不高??Open Feign

RestTemplate 傳入服務(wù)端服務(wù)名&端口、服務(wù)端需要的Request參數(shù)、服務(wù)端的返回值。這些都由客戶端來處理容易出問題

Open Feign(內(nèi)置Ribbon)來解決,@FeignClient由提供方提供成jar包,調(diào)用方引用即可,順滑。

?

5、底層系統(tǒng)響應(yīng)慢,超負(fù)載要宕機(jī)了怎么辦? Hystrix

不讓病情惡化:服務(wù)降級(jí)(如:配置快速失敗 HystrixCommand.fallbackMethod),讓服務(wù)有自行恢復(fù)的可能。

打疫苗:配置熔斷時(shí)間(EnableHystrix),快速阻斷病毒傳播造成雪崩式災(zāi)難

強(qiáng)身體健體才是根本:水平擴(kuò)展(增加服務(wù)個(gè)數(shù),分流處理),垂直擴(kuò)展(單機(jī)硬件性能、軟件性能提升)。

?

6.網(wǎng)關(guān)Zuul,Router and Filter,令牌桶限流(單機(jī))

如何實(shí)現(xiàn)分布式下的限流?redis過期時(shí)間 & incr() 方法可以利用起來

總結(jié)

以上是生活随笔為你收集整理的Spring Cloud笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。