Sentinel(二)网关流控配置
Sentinel(二)网关流控
官网介绍:https://github.com/alibaba/Sentinel/wiki/网关限流
1 引入依赖
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-sentinel-gateway</artifactId> <version>2.2.2.RELEASE</version> </dependency>
sentinel-gateway的版本需要对应alibaba-spring-cloud的版本
结果是怎么弄sentinel的控制台也不显示网关,我是真烦阿里的产品。。文档做得一言难尽
先记录一下,以后用到再搞吧
2 网关流控规则
- 设置route_id后即可针对某个路由进行流控
- 在针对请求属性的设置中,可以选择
具体参数
和匹配模式
来匹配请求的属性 QPS
和阈值
进行流控,流控效果有快速失败
和匀速排队

新增自定义API分组
- 可以将多个自定义API进行分组,在进行流控的时候可以针对一组的API进行流控
- 每个API的匹配模式可以分为:
- 精确
- 前缀
- 正则
-
3 网关层自定义返回
方式一:配置返回格式和返回的状态码:
spring.cloud.sentinel.scg.fallback.content-type=application/json spring.cloud.sentinel.scg.fallback.response-status=400
方式二:自定义返回
@Configuration public class SentinelGatewayConfig { public SentinelGatewayConfig() { GatewayCallbackManager.setBlockHandler(new BlockRequestHandler() { @Override public Mono<ServerResponse> handleRequest(ServerWebExchange serverWebExchange, Throwable throwable) { R error = R.error(BizCodeEnum.TOO_MANY_REQUESTS); String s = JSON.toJSONString(error); return ServerResponse.ok().body(Mono.just(s), String.class); } }); } }
分类:
Sentinel
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步