- A+
首先,官网里的持久化写的不是很清楚,网上找了很多,有些是假的持久化,因为那些在Sentinel Dashboard里增加的规则无法自动推送到Nacos里,只有在Nacos里定义的才能持久化,这显然不是我想要的。最终找到一篇不错的文章。地址如下:
http://www.itmuch.com/spring-cloud-alibaba/sentinel-rules-persistence-push-mode-using-nacos/
按照这篇文章的步骤一步步来,总体来说没什么大问题,但是在Sentinel Dashboard里增加的规则不起作用。。然后把客户端重启后控制台就会报错
convert 0 rules but there are 1 rules from datasource . RuleCLass: FlowRule
于是又是一顿猛搜,发现资料是真的太少了,最后解决方法如下:
FlowRuleEntity类的这几个字段加上@JSONField(serialize = false)
@JSONField(serialize = false) private Long id;
@JSONField(serialize = false) private String app;
@JSONField(serialize = false) private String ip;
@JSONField(serialize = false) private Integer port;
@JSONField(serialize = false) private Date gmtCreate;
@JSONField(serialize = false) private Date gmtModified;
生成sentinel-dashboard.jar 后dashbord v1接口将不再把以上字段提交到nacos配置上。