@SentinelResource 和 @SentinelRestTemplate 的 fallback 异同

来源:8-15 RestTemplate整合Sentinel

上游猴子

2020-04-23

最新版本1.7.1 中,
@SentinelResource 的 fallback 触发条件是在当前业务逻辑处理失败,异常上抛时进入 fallback 的回调,而触发限流或降级依然走 blockHandler 的回调。
@SentinelRestTemplate 的 fallback 触发条件是在达到降级阈值时进入 fallback 的回调。
逻辑有点异同,对于@SentinelResource 只要是异常就会进入 fallback 回调,对于@SentinelRestTemplate 是在达到降级阈值时进入。
这种是原本就这么设计的吗?

写回答

1回答

大目

2020-04-23

哈哈,很有意思的问题。原因我个人分析是这样的:

  1. @SentinelResource注解是由Sentinel团队提供的;

  2. @SentinelRestTemplate注解是由Spring Cloud Alibaba团队提供的

这是两支团队,所以沟通上存在GAP。因此导致了相同属性在定位上的不同。

这块规则也只能记住或者看手记或者使用时看下对应注解中的源码注释了。

0
0

Spring Cloud Alibaba微服务从入门到进阶

面向未来微服务:熟练掌握Spring Cloud Alibaba

3085 学习 · 1324 问题

查看课程