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

集群流控无法实现且dashboard存在BUG

环境描述 JDK 1.8 应用框架 dubbo 2.5.6 部署两个节点

问题描述 想对两个节点做总流量 限流 但是测试下来只能对单机做限流

代码及配置 dashboard 内添加限流规则 且持久化至ZK上

提问287.png

需要被限流的应用上加入了注册规则源 ZK

提问288.png

在dashboard内扩展了 datasource

提问289.png

提问290.png

在dashboard上指定集群模式

提问291.png

两个节点启动后日志

提问292.png

提问293.png

测试结果发现 每到16个请求rg后会报错。

1545396260307 报错 16 75 1545396261382 报错 16 86 1545396262468 报错 16 90 1545396263558 报错 16 94 1545396264652 报错 16 75 1545396265727 报错 16

理论上我设置的集群总流量应该是8,应该是在请求数达到8时会被限流。可是确在16时才被限流。看上去还是单机阀值。实在不能理解。我随机关一个节点。流量就会达到8时被限流。

dashboard的流量规则创建时,单机与集群的版本切换会造成数据不对。感觉像是BUG。由其是来回切换时。

sentinel 版本是 1.4.0

原提问者GitHub用户Tank-zhu

展开
收起
码字王 2023-05-19 19:30:48 117 0
1 条回答
写回答
取消 提交回答
  • 配置的有问题:

    • 两个节点中的其中一个指定为 server 即可,注意 命名空间集合 里面加上当前的应用名(多个以半角逗号 , 分隔)

    • 另一个节点的模式指定为 client 模式,并配置 token server IP / port 为上面 token server 的 ip 和 port

    关于 Sentinel Dashboard 单机与集群版本切换的问题,请详细描述一下。集群版本的数据来自动态规则源,而单机版本的数据来自客户端内存态(可任意修改),两者并不一定等同。

    原回答者GitHub用户sczyh30

    2023-05-19 22:45:59
    赞同 展开评论 打赏

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

相关电子书

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