改造sentinel控制台测试推模式时候,热点规则的问题。
来源:8-19 规则持久化02-推模式

Doctor_Blind
2019-12-25
大目老师您好,改造完成后发现热点规则可以持久化但是不生效,debugger发现是客户端在解析规则的时候可能出异常了,也就是在com.alibaba.cloud.sentinel.datasource.converter.SentinelConverter类里面的convertRule方法好像不能正常解析,如下图
从nacos拿下来的字符串格式是这样的,如下图
一顿解析后就成了这样了,如下图
然后试了下ObjectMapper,唉?灵光一闪,(在一边写问题一边写BUG…呵呵呵呵),然后试了下,在publishih的时候代码修改如下
是的,把ParamRuleEntity换成了ParamRule, 重启,规则生效了,但是此时控制台显示错误了。这个时候已经很想睡觉了,然后
代码很乱,但是很困了,重启后正常显示了,但是没法修改的,因为很多字段没有,想修改的话,删除重新添加是没有问题的,
另外flowRule的那个前端代码,因为官方已经有写好的代码了,在下前端比后端还弱,这个前端框架也看不太懂,凭感觉把identity.js的FlowServiceV1改成了FlowServiceV2如下图,
好了生效,前端好像有缓存问题。。。
这就是一个数据的解析问题,不知道是我没有用正确的方法还是官方有坑。
神智不是很清醒,不知道有没有表达明白。
还请大目老师解惑。。。
1回答
-
您好,我也认为是官方有坑。
https://github.com/alibaba/spring-cloud-alibaba/issues/771
我在7月的时候,有提过这个issue,和你一样,也是认为com.alibaba.cloud.sentinel.datasource.converter.SentinelConverter有问题。
不过官方经过一顿操作猛如虎后,说没有发现问题,然后就给我关闭掉了。
另外,我觉得也可能不是SentinelConverter的问题,而是Sentinel兼容性问题。
Sentinel Dashboard是1.6.2;而课上用的Spring Cloud Alibaba对应的Sentinel版本是1.5.2。所以可以试试将Spring Cloud Alibaba版本升级到2.1.0+试试看。
最后,为您的死磕精神点赞!看好你哦^_^加油!未来的大佬就是你,哈哈哈。
112019-12-25
相似问题