前言
服务网关在微服务架构中充当了请求访问入口的角色,是非常重要的一个部分,在高并发的系统中我们通常会在网关层通过流控降级等手段把多余的请求拒绝在外来防止微服务被高并发请求打垮,在之前我们有讨论过《服务网关Spring Cloud Gateway》和 《Sentinel流控》,一个是服务网关,一个是流控降级,本篇文章要讨论的是如何使用Sentinel对Gateway进行流控
Gateway整合Sentinelalibaba专门为gateway提供了一个适配包“spring-cloud-alibaba-sentinel-gateway”,我们导入它就可以完成对网关的流控工作
1.导入依赖<dependency> <groupId>com.alibaba.cloud <dependency> <groupId>com.alibaba.cloud public SentinelConfig(){ GatewayCallbackManager.setBlockHandler(new BlockRequestHandler() { @Override public Mono<ServerResponse> handleRequest(ServerWebExchange serverWebExchange, Throwable throwable) { return ServerResponse.ok().body(Mono.just("限流啦,请求太频繁"),String.class); } }); } }
再次频繁访问资源,测试限流效果如下:
到这里文章结束