for循环中对两个不同对资源进行熔断降级,当触发降级后,只有一个资源会抛出BlockExceptio

Type: bug report

同一个for循环中对两个不同资源设定降级规则,同时注册两个监听事件,当触发降级规则后,监听事件能正常获监听到当前资源已经降级。但是for循环中,只有一个降级资源会抛出BlockException

触发降级规则后,两个资源均会抛出BlockException

1、在一个循环中,根据条件设定不同到资源

2、PostConstruct方法初始化两个资源对应的降级熔断条件

3、同时用PostConstruct方法初始化两个资源的监听事件

4、压测,触发降级规则

5、for循环中,只有一个资源被降级熔断,抛出BlockException,另一个资源没有被熔断,能继续执行

com.alibaba.csp:sentinel-core:1.8.1 jdk1.8

单独只执行某一个资源的时候,均能正常熔断降级。但是两个资源在同一次请求中被触发时,只会一个资源抛出异常

提问67.png

提问68.png

提问69.png

原提问者GitHub用户yangjunPrivate

展开
收起
学习娃 2023-05-19 15:18:31 112 分享 版权
1 条回答
写回答
取消 提交回答
  • 这个是符合预期的,触发规则对应的 resource 的埋点会抛出 BlockException

    原回答者GitHub用户sczyh30

    2023-05-19 20:21:25
    赞同 展开评论
问答分类:
问答地址:

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

还有其他疑问?
咨询AI助理