一厉膀、前言
Sentinel 是面向分布式服務(wù)架構(gòu)的高可用流量防護(hù)組件溶耘,主要以流量為切入點(diǎn)二拐,從限流、流量整形凳兵、熔斷降級(jí)百新、系統(tǒng)負(fù)載保護(hù)、熱點(diǎn)防護(hù)等多個(gè)維度來(lái)幫助開(kāi)發(fā)者保障微服務(wù)的穩(wěn)定性庐扫。
例如搶購(gòu)秒殺系統(tǒng)吟孙,在很短的時(shí)間會(huì)有非常大的并發(fā)請(qǐng)求過(guò)來(lái),如果不做限流可能一下子服務(wù)器就崩了聚蝶。
二杰妓、安裝
下載地址:https://github.com/alibaba/Sentinel/releases
運(yùn)行
java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar
訪問(wèn):http://localhost:8080/
1.png
用戶名和密碼:sentinel
三、使用
3.1 maven 依賴
pom.xml中加入如下依賴:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
3.2 application.properties
# dashboard
spring.cloud.sentinel.transport.dashboard=localhost:8080
四碘勉、測(cè)試
用jmeter
循環(huán)請(qǐng)求巷挥。
可以看到qps(Queries-per-second)2萬(wàn)左右。
QQ截圖20210528105310.png
加上流量控制验靡,qps 5000封頂
QQ截圖20210528105749.png
監(jiān)控臺(tái)可以看到通過(guò)的qps封頂5000倍宾,其它的都被拒絕了。
QQ截圖20210528110333.png
流量控制規(guī)則多種胜嗓,有快速失敗高职、Warm Up、排隊(duì)等待辞州≌浚可以根據(jù)實(shí)際情況來(lái)配置。
QQ截圖20210528110253.png
五变过、結(jié)語(yǔ)
源碼地址:https://github.com/tigerleeli/xiaohuge-blog/tree/master/spring-cloud-alibaba-sentinel
同步微信公眾號(hào):小虎哥的技術(shù)博客