限流配置是否可以放在统一的地方,而不是放到每一个业务代码类中

来源: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

可以这样做,但是,这种存在的问题是,一旦这种基础代码有问题,所有的服务都会有问题

1
1
秋晨001
主要是目前我遇到了,限流根本无法起作用的问题 这大概是什么原因,老师可以指导一下吗
2023-12-01
共1条回复

Spring Cloud / Alibaba 微服务架构实战

从架构设计到开发实践,手把手实现

1210 学习 · 674 问题

查看课程