Sentinel链路流控模式失效的解决方法

解决方法

1、在pom.xml 中增加sentinel-web-servlet的依赖,我使用的版本是1.7.1

XML 复制代码
<dependency>
	<groupId>com.alibaba.csp</groupId>
	<artifactId>sentinel-web-servlet</artifactId>
</dependency>

2、在项目中添加一个FilterContextConfig配置类,自己构建CommonFilter实例

java 复制代码
import com.alibaba.csp.sentinel.adapter.servlet.CommonFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class FilterContextConfig {
    @Bean
    public FilterRegistrationBean sentinelFilterRegistration() {
        FilterRegistrationBean registration = new FilterRegistrationBean();
        registration.setFilter(new CommonFilter());
        registration.addUrlPatterns("/*");
        // 入口资源关闭聚合
        registration.addInitParameter(CommonFilter.WEB_CONTEXT_UNIFY, "false");
        registration.setName("sentinelFilter");
        registration.setOrder(1);
        return registration;
    }
}

3、重新配置链路流控规则,如下图:

刷新 /sayHello2多次,可以看到限流成功了,如下图 :

后台console报com.alibaba.csp.sentinel.slots.block.flow.FlowException: null

相关推荐
@航空母舰11 小时前
SpringBoot通过Map实现天然的策略模式
java·spring boot·后端
Co_Hui11 小时前
Java 并发编程
java
long31613 小时前
Java 新手入门与实战开发指南
java·开发语言
执笔画流年呀13 小时前
Linux搭建Java项目部署环境
java·linux·运维
程序员天天困13 小时前
Arthas ognl 表达式从入门到实战:掌握在线调试最强的表达式引擎
java·jvm·后端
IT_Octopus14 小时前
Spring Boot 中 ThreadLocal 请求上下文的完整生命周期
java·spring boot·spring
YOU OU14 小时前
Redis哨兵 & 集群
数据库·redis·sentinel
用户409666013175114 小时前
Lombok 你用对了吗?@Data 之外的 6 个隐藏神器
java·后端·代码规范
梅头脑14 小时前
交易跨10个库、日均千万订单——选错一次分布式事务方案,加班三个月重写
java·分布式
久久学姐14 小时前
基础转码学 AI:Java+Python 双语言入门,3 个月可落地实战项目
java·python·ai·转码·实战项目