热点规则持久化Zookeeper之后没有生效

版本 1.8.2 按照以下方法,注册监听Zookeeper的热点规则,但是发现实际上是监听到了,但是并没有生效,如下:

Converter<String, List> paramFlowRules = new Converter<String, List>() { @Override public List convert(String s) { return JSON.parseArray(s, ParamFlowRule.class); } }; ReadableDataSource<String, List> zkDataSourceParam = new ZookeeperDataSource<>(zkAddress, paramPath, paramFlowRules); ParamFlowRuleManager.register2Property(zkDataSourceParam.getProperty());

但是,按照下面,本地内存存储热点规则的话,是生效的,如下:

List rules = new ArrayList<>(); ParamFlowRule rule = new ParamFlowRule(); //阈值类型:只支持QPS rule.setGrade(RuleConstant.FLOW_GRADE_QPS); //阈值 rule.setCount(1); //资源名 rule.setResource("HelloWorld"); rule.setParamIdx(0);//指配热点参数的下标 //统计窗口时间长度 rule.setDurationInSec(5);

    List<ParamFlowItem> items = new ArrayList<>();
    ParamFlowItem item = new ParamFlowItem();
    item.setClassType(String.class.getTypeName());
    item.setCount(1);
    item.setObject("hello");//需要统计的值


    items.add(item);
    rule.setParamFlowItemList(items);
    rules.add(rule);
    ParamFlowRuleManager.loadRules(rules);

这个是我使用方法的问题?还是尚未支持呢?

原提问者GitHub用户tudou-xigua

展开
收起
学习娃 2023-05-19 14:56:21 95 分享 版权
1 条回答
写回答
取消 提交回答
  • 可以看一下推送的内容,结合 https://github.com/alibaba/Sentinel/wiki/FAQ 看一下是否有收到并正确解析规则

    原回答者GitHub用户sczyh30

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

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

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