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

相关推荐
小二·1 小时前
Elasticsearch 面试题精编(26题|含答案|分类整理)
java·大数据·elasticsearch
BD_Marathon1 小时前
在 Linux 环境中配置 Eclipse 以开发 Hadoop 应用
java·hadoop·eclipse
草莓熊Lotso2 小时前
C++ 二叉搜索树(BST)完全指南:从概念原理、核心操作到底层实现
java·运维·开发语言·c++·人工智能·经验分享·c++进阶
oliveira-time2 小时前
单例模式中的饿汉式
java·开发语言
凌波粒2 小时前
SpringMVC基础教程(1)--MVC/DispathcerServlet
java·spring·mvc
武子康2 小时前
Java-173 Neo4j + Spring Boot 实战:从 Driver 到 Repository 的整合与踩坑
java·数据库·spring boot·后端·spring·nosql·neo4j
凌波粒2 小时前
SpringMVC基础教程(2)--Controller/RestFul风格/JSON/数据转发和重定向
java·后端·spring·json·restful
老鼠只爱大米3 小时前
Java 设计模式之适配器模式:系统集成的万能接口
java·设计模式·适配器模式·adapter·java设计模式
一叶飘零_sweeeet3 小时前
Java+EasyExcel 打造学习平台视频学习时长统计系统
java·报表·easyexcel
Go away, devil3 小时前
Java-----集合
java·开发语言