Ribbon負(fù)載均衡框架
微服務(wù)架構(gòu)中采用Ribbon解決客戶端負(fù)載均衡問題,Ribbon是Netflix發(fā)布的開源項(xiàng)目,主要功能是提供客戶端的軟件負(fù)載均衡算法,Ribbon客戶端組件提供一系列完善的配置項(xiàng)如連接超時(shí),重試等解決方案,Ribbon的負(fù)載均衡算法有:
(1) RoundRobinRule:輪詢;
(2) RandomRule:隨機(jī);
(3) AvailabilityFilteringRule:會(huì)先過濾掉由于多次訪問故障而處于斷路器跳閘狀態(tài)的服務(wù),還有并發(fā)的連接數(shù)量超過閾值的服務(wù),然后對(duì)剩余的服務(wù)列表按照輪詢策略進(jìn)行訪問;
(4) WeightedResponseTimeRule:根據(jù)平均響應(yīng)時(shí)間計(jì)算所有服務(wù)的權(quán)重,響應(yīng)時(shí)間越快服務(wù)權(quán)重越大被選中的概率越高。剛啟動(dòng)時(shí)如果統(tǒng)計(jì)信息不足,則使用RoundRobinRule策略,等統(tǒng)計(jì)信息足夠,會(huì)切換到WeightedResponseTimeRule
(5) RetryRule:先按照RoundRobinRule的策略獲取服務(wù),如果獲取服務(wù)失敗則在指定時(shí)間內(nèi)會(huì)進(jìn)行重試,獲取可用的服務(wù);
(6) BestAvailableRule:會(huì)先過濾掉由于多次訪問故障而處于斷路器跳閘狀態(tài)的服務(wù),然后選擇一個(gè)并發(fā)量最小的服務(wù);
(7) ZoneAvoidanceRule:默認(rèn)規(guī)則,復(fù)合判斷server所在區(qū)域的性能和server的可用性選擇服務(wù)器。
?SpringCloud Ribbon流程圖
服務(wù)部署在服務(wù)器上,啟動(dòng)后,會(huì)將服務(wù)的接口注冊(cè)在Nacos注冊(cè)中心中,并采用心跳機(jī)制,告訴注冊(cè)中心該服務(wù)是否健康,注冊(cè)中心可以查看服務(wù)的健康狀況,出現(xiàn)調(diào)用不到的情況后,注冊(cè)中心會(huì)剔除該服務(wù),客戶端在調(diào)用服務(wù)后,Ribbon從注冊(cè)中心中取出可以正常服務(wù)的接口,并采用輪詢、隨機(jī)等方式實(shí)現(xiàn)負(fù)載均衡效果。
審核編輯 黃宇
-
負(fù)載
+關(guān)注
關(guān)注
2文章
578瀏覽量
34524 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9342瀏覽量
86203 -
框架
+關(guān)注
關(guān)注
0文章
403瀏覽量
17559
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
云服務(wù)器怎么做負(fù)載均衡?
常見的lvs負(fù)載均衡算法
負(fù)載均衡服務(wù)器與服務(wù)器如何連接?
常用的服務(wù)器負(fù)載均衡多少錢一臺(tái)?
多鏈路負(fù)載均衡設(shè)置在哪里?
華納云:什么是負(fù)載均衡??jī)?yōu)化資源利用率的策略
天翼云彈性負(fù)載均衡介紹
![天翼云彈性<b class='flag-5'>負(fù)載</b><b class='flag-5'>均衡</b>介紹](https://file1.elecfans.com/web1/M00/F3/B3/wKgZoWcbVQWAO4EMAAAU9PSyED8191.png)
IPVS負(fù)載均衡原理解析
零基礎(chǔ)也可以搞懂負(fù)載均衡怎么配置!
負(fù)載器的作用有哪些
負(fù)載均衡是什么意思?盤點(diǎn)常見的三種方式
負(fù)載均衡服務(wù)由幾部分組成?分別是什么
如何利用traceroute命令發(fā)現(xiàn)網(wǎng)絡(luò)中的負(fù)載均衡
![如何利用traceroute命令發(fā)現(xiàn)網(wǎng)絡(luò)中的<b class='flag-5'>負(fù)載</b><b class='flag-5'>均衡</b>](https://file1.elecfans.com/web2/M00/01/08/wKgZomazHumAVVonAAAqjCv-RWI311.png)
評(píng)論