如何使用Sentinel链路流控规则?
如何解决链路模式规则不生效?
当前项目的版本信息
SpringBoot 版本2.3.2.RELEASE
spring-cloud版本Hoxton.SR8
spring-cloud-alibaba版本2.2.5.RELEASE
<dependency>
<groupId>com.alibaba.cloudgroupId>
<artifactId>spring-cloud-starter-alibaba-sentinelartifactId>
dependency>
<dependency>
<groupId>com.alibaba.cspgroupId>
<artifactId>sentinel-web-servletartifactId>
dependency>
spring:
cloud:
sentinel:
filter:
enabled: false
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 registrationBean = new FilterRegistrationBean();
registrationBean.setFilter(new CommonFilter());
registrationBean.addUrlPatterns("/*");
registrationBean.addInitParameter(CommonFilter.WEB_CONTEXT_UNIFY, "false");
registrationBean.setName("sentinelFilter");
registrationBean.setOrder(1);
return registrationBean;
}
}
编写测试代码

启动服务器,请求一下上面编辑的两个接口,查看sentinel-dashboard控制台,显示出两条链路

编写链路规则,并保存
下图表示链路/hello1对findById这个资源的访问为每秒1次。

请求/hello1这个接口,频繁刷新,会出现失败。而频繁请求/hello2这条链路则不会失败。



发送一次请求,sentinel就会统计两次请求。

所以请注意关闭sentinel过滤器
