目的是用在网关上,目前我们使用了apollo的动态规则配置,配置格式上是每一个资源有他的规则。现在想要是否可以支持通用的熔断规则配置,即配置一个全局的规则,比如连续5笔时间超过20秒就熔断,对于任何一个通过的资源都生效,另外也可以针对某个特定的资源具体配置,像现在一样。因为通过网关的资源会动态增加,每一个资源单独配置人力维护成本太高,希望有一个兜底的通用规则,可以配置的大一些,某些特殊的单独配置。另外看下了一下ApolloDatasource的源码,似乎是规则有变化就会把原来的规则清理掉,再重新加载一遍,本来想自己实现一个逻辑在应用启动的时候初始化所有资源为一个通用规则,但是因为ApolloDatasource的刷新方式,这样实现也不可行了。
3条答案
按热度按时间fnatzsnv1#
Related to #66
7kjnsjlb2#
建议你可以在dashboard里面的ResourceController的fetchResourceChainListOfMachine方法找到灵感,这个方法有List nodeVos = httpFetcher.fetchResourceOfMachine(ip, port, type);
这里可以拿到所有的资源节点,如果你需要所有资源加一个特定通用规则,拿到资源以后,可以自己做个循环调用规则处理接口,就可以完成了吧
prdp8dxp3#
建议改造dashboard,也可以页面做这种处理,添加一个选择生效的资源节点,选中配置规则,一键生效