Sentinel icon indicating copy to clipboard operation
Sentinel copied to clipboard

Sentinel结合Gateway是否可以在网关层实现熔断

Open cc132 opened this issue 2 years ago • 4 comments

Sentinel结合Gateway是否可以在网关层实现熔断?

我在sentinel加入了对geteway的支持配置,参考文档https://github.com/alibaba/spring-cloud-alibaba/wiki/Sentinel Sentinel-dashboard页面中也确实出现了gateway的控制信息 image

上图中的流控现象我在控制台配置相关的流控规则之后确实可以进入自定义的错误信息配置即

spring: sentinel: scg: fallback: mode: response response-body: '{"code":403,"mes":"调用路由异常"}'

但是我配置熔断规则之后,发现请求依旧会走入到相关的接口代码中,所以我想问一下这边Sentinel结合Gateway是不是只能在网关层实现流控功能而不能实现熔断功能呢?另外我在sentinel官网上看到Sentinel 支持对 Spring Cloud Gateway、Zuul 等主流的 API Gateway 进行限流, image

所以我想确认一下Sentinel结合Gateway是不是不可以在网关层实现熔断

cc132 avatar Sep 01 '22 11:09 cc132

#2874 兄弟 你是不是想要跟我一样的效果,一个路由内 多个实例,其中某个实例出现故障,直接吧这个实例摘除掉

fuchengcan avatar Sep 10 '22 02:09 fuchengcan

可以的,就是要自己改一改,我们目前是集成的Zuul网关,也是基于此自己改的轮子,原生的开源代码没有直接拆箱即用的。如果你要degrade, system两个维度的流控功能,如图所示,你还得自己参考流控的demo对应的修改控制台代码。原生只有一个流控demo。 image

WilliamChen-luckbob avatar Nov 18 '22 03:11 WilliamChen-luckbob

主要是去dashboard模块中对应按需修改controller包下中的DegradeController和SystemController,然后还有自定义一下rule包,添加你对应的规则加载publisher和provider,照着demo抄就行了,然后再在客户端这边对应做一套Nacos的监听机制,控制台和客户端就可以实现实时通信了。

WilliamChen-luckbob avatar Nov 18 '22 03:11 WilliamChen-luckbob

@WilliamChen-luckbob 有demo吗?

1327681842 avatar Jan 29 '24 01:01 1327681842