1、解決雪崩問題的常見方式有四種:
- 超時(shí)處理:設(shè)定超時(shí)時(shí)間,請(qǐng)求超過一定時(shí)間沒有響應(yīng)就返回錯(cuò)誤信息,不會(huì)無休止等待;
- 艙壁模式:限定每個(gè)業(yè)務(wù)能使用的線程數(shù),避免耗盡整個(gè)tomcat的資源,因此也叫線程隔離;
- 熔斷降級(jí):由斷路器統(tǒng)計(jì)業(yè)務(wù)執(zhí)行的異常比例,如果超出閾值則會(huì)熔斷該業(yè)務(wù),攔截訪問該業(yè)務(wù)的一切請(qǐng)求;
- 流量控制:限制業(yè)務(wù)訪問的OPS,避免服務(wù)因流量的突增而故障。
2、Sentinel的流控模式
在添加限流規(guī)則時(shí),點(diǎn)擊高級(jí)選項(xiàng),可以選擇三種流控模式:
- 直接:統(tǒng)計(jì)當(dāng)前資源的請(qǐng)求,觸發(fā)閾值時(shí)對(duì)當(dāng)前資源直接限流,也是默認(rèn)的模式;
- 關(guān)聯(lián):統(tǒng)計(jì)與當(dāng)前資源相關(guān)的另一個(gè)資源,觸發(fā)閾值時(shí),對(duì)當(dāng)前資源限流;
- 鏈路:統(tǒng)計(jì)從指定鏈路訪問到本資源的請(qǐng)求,觸發(fā)閾值時(shí),對(duì)指定鏈路限流;
3、Sentinel的流控效果
流控效果是指請(qǐng)求達(dá)到流控閾值時(shí)應(yīng)該采取的措施,包括三種:
- 快速失敗:達(dá)到閾值后,新的請(qǐng)求會(huì)被立即拒絕并拋出FlowException異常。是默認(rèn)的處理方法
- warm up:預(yù)熱模式,對(duì)超出閾值的請(qǐng)求同樣是拒絕并拋出異常。但這種模式閾值會(huì)動(dòng)態(tài)變化,從一個(gè)較小值逐漸增加到最大閾值。
- 排隊(duì)等待:讓所有的請(qǐng)求按照先后次序排隊(duì)執(zhí)行,兩個(gè)請(qǐng)求的間隔不能小于指定時(shí)長。
3.1、快速失敗,默認(rèn)模式不過多介紹
3.2、warm up-效果示意圖:
3.3、排隊(duì)等待-效果示意圖:
?????? 如下圖所示,本來激增的并發(fā)量, 由于加入了排隊(duì)等待,巨大的并發(fā)請(qǐng)求變得有條不紊,不過在超過排隊(duì)隊(duì)列的容量的那些請(qǐng)求,可能會(huì)丟失,有利有弊。
文章來源:http://www.zghlxwxcb.cn/news/detail-855948.html
4、熱點(diǎn)參數(shù)限流
文章來源地址http://www.zghlxwxcb.cn/news/detail-855948.html
到了這里,關(guān)于利用Sentinel解決雪崩問題(一)流量控制的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!