开发者社区 > 云原生 > 正文

com.alibaba.csp.sentinel.slotchain.SlotChainProvid

接入 Zuul 网关限流

    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        <version>1.5.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-alibaba-sentinel-gateway</artifactId>
        <version>1.5.1.RELEASE</version>
    </dependency>

调用SpiLoader.loadFirstInstanceOrDefault(SlotChainBuilder.class, DefaultSlotChainBuilder.class), 返回HotParamSlotChainBuilder,而不是GatewaySlotChainBuilder, 这导致网关限流规则无效。

确认一下,为什么会出现这个问题?而且怎么解决加载顺序问题?

开发环境

idea 2018+spring boot 版本 1.5.10-RELEASE

原提问者GitHub用户hellojd2018

展开
收起
云上静思 2023-05-19 16:41:49 88 0
1 条回答
写回答
取消 提交回答
  • 它与依赖关系的顺序有关。您可以重新排列依赖关系的顺序,并确保sentinel spring云网关适配器位于第一位。

    事实上,将SlotChainBuilder作为SPI并加载第一个遇到的实现并不是一个好的设计。我们可能需要#411(尽管应该考虑兼容性)。

    原回答者GitHub用户sczyh30

    2023-05-19 22:43:28
    赞同 展开评论 打赏
问答分类:
问答地址:

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

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载