解決Sentinel鏈路模式規(guī)則無(wú)效問題
前言
如何使用Sentinel鏈路流控規(guī)則?
如何解決鏈路模式規(guī)則不生效?
解決方案
當(dāng)前項(xiàng)目的版本信息
- SpringBoot 版本2.3.2.RELEASE
- spring-cloud版本Hoxton.SR8
- spring-cloud-alibaba版本2.2.5.RELEASE
1.引入依賴
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-web-servlet</artifactId>
</dependency>2.關(guān)閉sentinel的過濾器
(如果不設(shè)置或者不關(guān)閉,會(huì)出現(xiàn)重復(fù)統(tǒng)計(jì)問題)
spring:
cloud:
sentinel:
filter:
enabled: false3.添加上下文過濾器
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;
}
}4.編寫測(cè)試代碼

5.啟動(dòng)服務(wù)器
請(qǐng)求一下上面編輯的兩個(gè)接口,查看sentinel-dashboard控制臺(tái),顯示出兩條鏈路

6.編寫鏈路規(guī)則,并保存
下圖表示鏈路/hello1對(duì)findById這個(gè)資源的訪問為每秒1次。

7.請(qǐng)求/hello1這個(gè)接口
頻繁刷新,會(huì)出現(xiàn)失敗。而頻繁請(qǐng)求/hello2這條鏈路則不會(huì)失敗。



問題
如果不關(guān)閉sentinel過濾器會(huì)發(fā)生什么?
發(fā)送一次請(qǐng)求,sentinel就會(huì)統(tǒng)計(jì)兩次請(qǐng)求。

所以請(qǐng)注意關(guān)閉sentinel過濾器

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
JPA如何使用nativequery多表關(guān)聯(lián)查詢返回自定義實(shí)體類
這篇文章主要介紹了JPA如何使用nativequery多表關(guān)聯(lián)查詢返回自定義實(shí)體類,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Reactor 多任務(wù)并發(fā)執(zhí)行且結(jié)果按順序返回第一個(gè)
這篇文章主要介紹了Reactor 多任務(wù)并發(fā)執(zhí)行且結(jié)果按順序返回第一個(gè),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-09-09
Mybatis 傳參與排序模糊查詢功能實(shí)現(xiàn)
這篇文章主要介紹了Mybatis 傳參與排序模糊查詢功能實(shí)現(xiàn),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2025-04-04
mybatis中一對(duì)一關(guān)系association標(biāo)簽的使用
這篇文章主要介紹了mybatis中一對(duì)一關(guān)系association標(biāo)簽的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
Java代碼為例講解堆的性質(zhì)和基本操作以及排序方法
堆數(shù)據(jù)結(jié)構(gòu)可以看作一顆完全二叉樹,因而又被成為二叉堆,這里我們以Java代碼為例講解堆的性質(zhì)和基本操作以及排序方法,需要的朋友可以參考下2016-06-06
springboot集成mybatisplus的詳細(xì)步驟
MyBatis-Plus (opens new window)(簡(jiǎn)稱 MP)是一個(gè) MyBatis (opens new window)的增強(qiáng)工具,在 MyBatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開發(fā)、提高效率而生,這篇文章主要介紹了springboot四步集成mybatisplus,需要的朋友可以參考下2022-10-10
java 中String和StringBuffer與StringBuilder的區(qū)別及使用方法
這篇文章主要介紹了java 中String和StringBuffer與StringBuilder的區(qū)別及使用方法的相關(guān)資料,在開發(fā)過程中經(jīng)常會(huì)用到String 這個(gè)類進(jìn)行操作,需要的朋友可以參考下2017-08-08
java使用JDBC動(dòng)態(tài)創(chuàng)建數(shù)據(jù)表及SQL預(yù)處理的方法
這篇文章主要介紹了java使用JDBC動(dòng)態(tài)創(chuàng)建數(shù)據(jù)表及SQL預(yù)處理的方法,涉及JDBC操作數(shù)據(jù)庫(kù)的連接、創(chuàng)建表、添加數(shù)據(jù)、查詢等相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-08-08

