sentinel入門
sentinel下載:sentinel-dashboard-1.8.1.jar
下載完成後進入sentinel-dashboard-1.8.1.jar的文件夾,在cmd中輸入java -jar sentinel-dashboard-1.8.1.jar


用戶密碼均為sentinel
在cloud2020項目中啟動cloudalibaba-sentinel-service8401模組。該模組既需要啟動nacos,也需要啟動sentinel。
我們調用模組中testA介面,可有:

實時監控
我們可以對該介面實時監控。我們可以用jmeter,模擬高並發請求。比如5秒鐘2000並發,我們看起狀態如何,在這5秒內,我們自己再去訪問testA介面,就會發現響應變慢了!
等會我們對他設置流控規則,還會看到在一段時間內,既有通過的QPS,也有拒絕的QPS,所畫出的曲線將會很有意思。
流控規則
既可以在簇點鏈路,也可在流控規則中設置。我覺得在簇點鏈路中設置更方便。

閾值類型:QPS

瘋狂訪問testA介面會出現:


我們可以看到每秒通過的請求只有3,被拒絕的請求那就得看我手速了(手速快拒絕的多,手速慢拒絕的少)
閾值類型:執行緒數
執行緒數,允許最多三個執行緒去執行,超過則拒絕,添加如下規則:

我們對testA加上800ms的延遲



我模仿20個執行緒去訪問testA介面,結果如下:

一共20,在這兩個800ms中最多創建3個執行緒去執行testA介面,所以5+1一共完成6個請求,其餘的都拒絕了。
流控規則:關聯

當訪問testB的QPS超過30,則訪問testA失敗

我們看20:51:04~20:51:07,testB的QPS都超過30,所以testA的訪問都拒絕了
20:51:08~20:51:10,testB我們停止訪問,testA的訪問都接受了
流控效果:warm up


可以看到,經過預熱,我們通過的QPS才慢慢提升的30
流控效果:排隊等待

QPS為2時,每隔500ms允許通過下一個請求。
那麼QPS為4時,每個250ms允許通過下一個請求
為10呢?那就是100ms嘍~

每秒允許通過10個請求,如果請求等待時間超過1000ms則拒絕該請求


發送了200個請求,算是全走完了,共用時20s。
超時時間我設置了,但是不知道為啥沒用😢
明天搞熔斷🐳🐳🐳🐳🐳
