alibaba / alibaba/Sentinel

Zookpeer dynamic rule persistence discussion

Open
#753 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.