版本 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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
可以看一下推送的内容,结合 https://github.com/alibaba/Sentinel/wiki/FAQ 看一下是否有收到并正确解析规则
原回答者GitHub用户sczyh30
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。