服务限流、熔断、降级Sentinel

·  阅读 353
服务限流、熔断、降级Sentinel

一、前言

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。

例如抢购秒杀系统,在很短的时间会有非常大的并发请求过来,如果不做限流可能一下子服务器就崩了。

二、安装

下载地址:github.com/alibaba/Sen…

运行

java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar

访问: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

四、测试

jmeter循环请求。 可以看到qps(Queries-per-second)2万左右。 QQ截图20210528105310.png

加上流量控制,qps 5000封顶 QQ截图20210528105749.png

监控台可以看到通过的qps封顶5000,其它的都被拒绝了。 QQ截图20210528110333.png

流量控制规则多种,有快速失败、Warm Up、排队等待。可以根据实际情况来配置。 QQ截图20210528110253.png

五、结语

源码地址:github.com/tigerleeli/…

同步微信公众号:小虎哥的技术博客

wx_qrcode_1.jpg

分类:
后端
标签:
分类:
后端
标签:
收藏成功!
已添加到「」, 点击更改