av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

SpringCloudAlibabaNacos路由策略之保護(hù)閾值!

來源 | Java中文社群(ID:javacn666)

轉(zhuǎn)載請聯(lián)系授權(quán)(微信ID:GG_Stone)

在 Nacos 的路由策略中有 3 個(gè)比較重要的內(nèi)容:權(quán)重、保護(hù)閾值和就近訪問。因?yàn)檫@ 3 個(gè)內(nèi)容都是彼此獨(dú)立的,所以今天我們就單獨(dú)拎出“保護(hù)閾值”來詳細(xì)聊聊。

保護(hù)閾值

保護(hù)閾值(ProtectThreshold):為了防止因過多實(shí)例故障,導(dǎo)致所有流量全部流入剩余健康實(shí)例,繼而造成流量壓力將剩余健康實(shí)例被壓垮形成雪崩效應(yīng)。應(yīng)將健康保護(hù)閾值定義為?個(gè) 0 到 1 之間的浮點(diǎn)數(shù)。當(dāng)域名健康實(shí)例數(shù)占總服務(wù)實(shí)例數(shù)的比例小于該值時(shí),無論實(shí)例是否健康,都會(huì)將這個(gè)(健康或不健康的)實(shí)例返回給客戶端。這樣做雖然損失了?部分流量,但是保證了集群中剩余健康實(shí)例能正常工作。

也就是說,保護(hù)閾值是設(shè)置集群中健康實(shí)例占比允許的最小值,它需要設(shè)置一個(gè) 0-1 的浮點(diǎn)值,默認(rèn)值為 0,當(dāng)集群中的健康實(shí)例占比小于設(shè)置的保護(hù)閾值時(shí),就會(huì)觸發(fā)閾值保護(hù)功能。保護(hù)閾值可在服務(wù)詳情中查詢和設(shè)置,如下圖所示:

如何理解保護(hù)閾值?

要理解保護(hù)閾值先要明確一個(gè)前提條件:對于 Nacos 的注冊中心功能來說,Nacos 有一個(gè)天然的職責(zé),是將服務(wù)消費(fèi)者(Consumer)的請求轉(zhuǎn)發(fā)給某個(gè)健康的服務(wù)提供者(Provider)。但在執(zhí)行的流程中,可能會(huì)出現(xiàn)一種極端的情況,比如某個(gè)服務(wù)有 100 個(gè)實(shí)例,其中 99 個(gè)實(shí)例都宕機(jī)了,只剩下一個(gè)健康的實(shí)例,這個(gè)時(shí)候如果把所有的請求都轉(zhuǎn)發(fā)到這一個(gè)健康實(shí)例上就會(huì)造成雪崩效應(yīng),最終導(dǎo)致業(yè)務(wù)系統(tǒng)崩潰。為了防止這種極端情況,于是就有了“保護(hù)閾值”,保護(hù)閾值一旦被觸發(fā),那么 Nacos 將會(huì)把請求轉(zhuǎn)發(fā)給所有服務(wù)實(shí)例,也就是健康實(shí)例+非健康實(shí)例,這樣可能會(huì)損失了?部分流量,但能保證集群中剩余的健康實(shí)例能正常工作。

保護(hù)閾值觸發(fā)條件:(實(shí)際健康實(shí)例/總服務(wù)實(shí)例)≤設(shè)置的保護(hù)閾值

設(shè)置保護(hù)閾值

我們可以通過“編輯服務(wù)”來設(shè)置保護(hù)閾值,如下圖所示:

觸發(fā)保護(hù)閾值

接下來我們創(chuàng)建一個(gè)服務(wù)測試一下保護(hù)閾值的功能,在創(chuàng)建的服務(wù)中添加兩個(gè)實(shí)例,如下圖所示:

默認(rèn)情況下服務(wù)實(shí)例都是健康的,接下來我們將保護(hù)閾值設(shè)置為 0.8,也就是健康實(shí)例的最低要求是 80%,如果健康實(shí)例占比小于此值就會(huì)觸發(fā)保護(hù)閾值,如下圖所示:

當(dāng)所有節(jié)點(diǎn)都健康時(shí),觀察服務(wù)列表頁面,可以看出并未觸發(fā)保護(hù)閾值的功能,如下圖所示:

此時(shí)我們手動(dòng)停止一個(gè)服務(wù)實(shí)例,如下圖所示:

這是健康實(shí)例的占比就從 100%,下降到了 50%,小于了設(shè)置的保護(hù)閾值 0.8(80%),接下來返回服務(wù)列表頁面,可以看到保護(hù)閾值功能被觸發(fā)了:

此時(shí),我們再去訪問服務(wù)就會(huì)看到,部分請求會(huì)轉(zhuǎn)發(fā)到非健康實(shí)例,也就是訪問會(huì)出錯(cuò),如下圖所示:

未觸發(fā)保護(hù)閾值

接下來我們降低保護(hù)閾值,將保護(hù)閾值設(shè)置為 0.3,也就是健康實(shí)例占比最低要求是 30%,否則會(huì)觸發(fā)閾值保護(hù),如下圖所示:

而此時(shí)因?yàn)槲覀兘】祵?shí)例占比是 50%,大于設(shè)置的閾值保護(hù) 0.3,所以就不會(huì)觸發(fā)閾值保護(hù),這點(diǎn)可以在服務(wù)列表中觀察到:

當(dāng)未觸發(fā)保護(hù)閾值時(shí),Nacos 會(huì)把所有請求都轉(zhuǎn)發(fā)到健康的實(shí)例上,所以每次都能正常的訪問服務(wù),執(zhí)行效果如下圖所示:

總結(jié)

保護(hù)閾值是為了防止因過多實(shí)例故障,導(dǎo)致所有流量全部流入剩余健康實(shí)例,繼而造成流量壓力將剩余健康實(shí)例被壓垮形成雪崩效應(yīng)。它的默認(rèn)值是 0,取值范圍應(yīng)該是 0-1 的浮點(diǎn)數(shù)。此值是定義集群中允許健康實(shí)例占比的最小值,如果實(shí)際健康服務(wù)占比小于或等于此值,就會(huì)觸發(fā)保護(hù)閾值,那么 Nacos 就會(huì)將全部實(shí)例:健康實(shí)例 + 非健康實(shí)例全部返回給調(diào)用者,而當(dāng)保護(hù)閾值未觸發(fā)時(shí),Nacos 只會(huì)把健康實(shí)例返回給調(diào)用者。


網(wǎng)站題目:SpringCloudAlibabaNacos路由策略之保護(hù)閾值!
標(biāo)題URL:http://uogjgqi.cn/article/djoshjh.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流