Spring Cloud Alibaba微服务系列-服务限流、熔断、降级Sentinel

一、前言

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

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

二、安装

下载地址:https://github.com/alibaba/Sentinel/releases

运行

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中加入如下依赖:


    com.alibaba.cloud
    spring-cloud-starter-alibaba-sentinel

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

五、结语

源码地址:https://github.com/tigerleeli/xiaohuge-blog/tree/master/spring-cloud-alibaba-sentinel

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

你可能感兴趣的:(Spring Cloud Alibaba微服务系列-服务限流、熔断、降级Sentinel)