Zookpeer dynamic rule persistence discussion
Open
kind/discussion
- Dominant language
- Java
- Stars
- 23.1k
- Forks
- 8.1k
- PR merge metrics
- No merged PRs in 30d
Description
在做zookeeper规则持久化我发现一种类型规则只能注册一个data Source。 这样当我对应用的某个资源进行规则配置时,我想先定义一个公共的默认配置,到时再根据实际情况调整具体机器上的配置。
举个例子:
resource A : 公共配置QPS 10。即所有机器上的A的默认QPS是10。
因为机器1配置高,修改为20 QPS,机器2上面的换成 5 QPS。
因为RuleManager.register只能注册一个data Source,一个data Source 对应 一个Zookeeper节点。公共的默认配置与具体机器的配置中放不同Zookeepr节点 。所以现在要么只能持久化公共的默认配置,要么只能持久化具体机器的配置,两个不能同时通过RuleManager.register持久化。
我有一个想法就是RuleManager.register改成可注册多个data Source,这样公共默认配置和具体配置都可以持久化,不知道大家觉得怎样。
关于持久化我还有一个想法就是将来可以换成不改造dash board方式。dash board仅仅是一个客户端,只提供curd的入口API,业务逻辑放在sentinel server端完成 。sentinel server端提供数据源接入方法,接入者实现规则write与read的方法即可。这样切换持久化数据源时,dash board不需要再动一次。欢迎大家讨论。
Contributor guide
Assessment
This issue has not been assessed yet.