限流配置是否可以放在统一的地方,而不是放到每一个业务代码类中
来源:17-3 基于硬编码应用 Sentinel 的限流功能(2)

秋晨001
2023-11-30
将限流配置放到每一个业务代码类中,对业务代码侵入大,而且显得臃肿。
在不引入控制台的这个功能的情况下,是否可以在工程中开启一个地方专门去维护限流配置
此外,不希望引入网关和配置中心,暂时还不具备这个能力去维护这些复杂的组件,那么是否可以在springboot项目本身着手?
我有尝试引入了一个SentinelConfig.java类,内容如下:
@Component
public class SentinelConfig {
@PostConstruct
public void initFlowRules() {
List<FlowRule> rules = new ArrayList<>();
// 创建流量控制规则对象
FlowRule rule1 = new FlowRule();
rule1.setResource("Resource1");
rule1.setCount(10);
rule1.setGrade(1);
rules.add(rule1);
// 创建其它流量控制规则对象...
// 加载规则
FlowRuleManager.loadRules(rules);
}
}```
并且在业务类中引入了资源:Resource1,但是当我高频繁的请求接口时,却无法触发限流保护,这让我感到很奇怪
我对这方面认识的不够深,还请老师多多指教
写回答
1回答
-
张勤一
2023-12-01
可以这样做,但是,这种存在的问题是,一旦这种基础代码有问题,所有的服务都会有问题
112023-12-01
相似问题