国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則

這篇具有很好參考價值的文章主要介紹了【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


我們在上一篇文章中對 Sentinel 已經(jīng)有了基本的了解,接下來,我們一起對它的進(jìn)階進(jìn)行學(xué)習(xí)吧!

Sentinel的概念和功能

基本概念

資源

所謂資源就是 Sentinel 要保護(hù)的東西,資源是 Sentinel 的關(guān)鍵概念。它可以是Java應(yīng)用程序中的任何內(nèi)容,可以是一個服務(wù),也可以是一個方法,甚至可以是一段代碼。

我們?nèi)腴T案例中的 message1 方法就可以認(rèn)為是一個資源。

規(guī)則

規(guī)則就是用來定義如何進(jìn)行保護(hù)資源的。規(guī)則作用在資源之上,定義以什么樣的方式保護(hù)資源,主要包括流量控制規(guī)則、熔斷降級規(guī)則以及系統(tǒng)保護(hù)規(guī)則。

我們?nèi)腴T案例中就是為 message1 資源設(shè)置了一種流控規(guī)則,限制了進(jìn)入message1的流量。

重要功能

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

Sentinel 的主要功能就是容錯,主要體現(xiàn)為:

流量控制

流量控制在網(wǎng)絡(luò)傳輸中是一個常用的概念,它用于調(diào)整網(wǎng)絡(luò)包的數(shù)據(jù)。任意時間到來的請求往往是隨機(jī)不可控的,而系統(tǒng)的處理能力是有限的。我們需要根據(jù)系統(tǒng)的處理能力對流量進(jìn)行控制。Sentinel 作為一個調(diào)配器,可以根據(jù)需要把隨機(jī)的請求調(diào)整成合適的形狀。

熔斷降級

當(dāng)檢測到調(diào)用鏈路中某個資源出現(xiàn)不穩(wěn)定的表現(xiàn),例如請求響應(yīng)時間長或異常比例升高的時候,則對這個資源的調(diào)用進(jìn)行限制,讓請求快速失敗,避免影響到其它的資源而導(dǎo)致級聯(lián)故障。

Sentinel對這個問題采取了兩種手段:

  • 通過并發(fā)線程數(shù)進(jìn)行限制:Sentinel 通過限制資源并發(fā)線程的數(shù)量,來減少不穩(wěn)定資源對其它資源的影響。當(dāng)某個資源出現(xiàn)不穩(wěn)定的情況下,例如響應(yīng)時間變長,對資源的直接影響就是會造成線程數(shù)的逐步堆積。當(dāng)線程數(shù)在特定資源上堆積到一定的數(shù)量之后,對該資源的新請求就會被拒絕。堆積的線程完成任務(wù)后才開始繼續(xù)接收請求。
  • 通過響應(yīng)時間對資源進(jìn)行降級:除了對并發(fā)線程數(shù)進(jìn)行控制以外, Sentinel 還可以通過響應(yīng)時間來快速降級不穩(wěn)定的資源。當(dāng)依賴的資源出現(xiàn)響應(yīng)時間過長后,所有對該資源的訪問都會被直接拒絕,直到過了指定的時間窗口之后才重新恢復(fù)。

Sentinel和Hystrix對熔斷降級處理的區(qū)別
兩者的原則是一致的,都是當(dāng)一個資源出現(xiàn)問題時,讓其快速失敗,不要波及到其它服務(wù)。但是在限制的手段上,卻采取了完全不一樣的方法:

  • Hystrix 采用的是線程池隔離的方式,優(yōu)點是做到了資源之間的隔離,缺點是增加了線程切換的成本。
  • Sentinel 采用的是通過并發(fā)線程的數(shù)量和響應(yīng)時間來對資源做限制。

系統(tǒng)負(fù)載保護(hù)

Sentinel 同時提供系統(tǒng)維度的自適應(yīng)保護(hù)能力。當(dāng)系統(tǒng)負(fù)載較高的時候,如果還持續(xù)讓請求進(jìn)入可能會導(dǎo)致系統(tǒng)崩潰,無法響應(yīng)。

在集群環(huán)境下,會把本應(yīng)這臺機(jī)器承載的流量轉(zhuǎn)發(fā)到其它的機(jī)器上去。如果這個時候其它的機(jī)器也處在一個邊緣狀態(tài)的時候, Sentinel 提供了對應(yīng)的保護(hù)機(jī)制,讓系統(tǒng)的入口流量和系統(tǒng)的負(fù)載達(dá)到一個平衡,保證系統(tǒng)在能力范圍之內(nèi)處理最多的請求。

總之一句話:我們需要做的事情,就是在 Sentinel 的資源上配置各種各樣的規(guī)則,來實現(xiàn)各種容錯的功能。

SentineI 規(guī)則

流控規(guī)則

流量控制,其原理是監(jiān)控應(yīng)用流量的QPS(每秒查詢率)或并發(fā)線程數(shù)等指標(biāo),當(dāng)達(dá)到指定的閾值時對流量進(jìn)行控制,以避免被瞬時的流量高峰沖垮,從而保障應(yīng)用的高可用性。

點擊簇點鏈路,我們就可以看到訪問過的接口地址,然后點擊對應(yīng)的流控按鈕,進(jìn)入流控規(guī)則配置頁面。新增流控規(guī)則界面如下:
【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

  1. 資源名:唯一名稱,默認(rèn)是請求路徑,可自定義。
  2. 針對來源:指定對哪個微服務(wù)進(jìn)行限流,默認(rèn)指default,意思是不區(qū)分來源,全部限制。
  3. 閾值類型單機(jī)閾值:
    • QPS(每秒請求數(shù)量):當(dāng)調(diào)用該接口的QPS達(dá)到閾值的時候,進(jìn)行限流;
    • 線程數(shù):當(dāng)調(diào)用該接口的線程數(shù)達(dá)到閾值的時候,進(jìn)行限流;
  4. 是否集群:暫不需要集群。

接下來我們以QPS為例來研究限流規(guī)則的配置。

簡單配置

我們先做一個簡單配置,設(shè)置閾值類型為QPS,單機(jī)閾值為3。即每秒請求量大于3的時候開始限流。接下來,在流控規(guī)則頁面就可以看到這個配置。

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

配置流控模式

點擊上面設(shè)置流控規(guī)則的編輯按鈕,然后在編輯頁面點擊高級選項,會看到有流控模式一欄

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

sentinel 共有三種流控模式,分別是:

  • 直接(默認(rèn)):接口達(dá)到限流條件時,開啟限流。
  • 關(guān)聯(lián):當(dāng)關(guān)聯(lián)的資源達(dá)到限流條件時,開啟限流(適合做應(yīng)用讓步)。
  • 鏈路:當(dāng)從某個接口過來的資源達(dá)到限流條件時,開啟限流。

下面呢分別演示三種模式:

直接流控模式

直接流控模式是最簡單的模式,當(dāng)指定的接口達(dá)到限流條件時開啟限流。上面案例使用的就是直接流控模式。

關(guān)聯(lián)流控模式

關(guān)聯(lián)流控模式指的是,當(dāng)指定接口關(guān)聯(lián)的接口達(dá)到限流條件時,開啟對指定接口開啟限流。

第1步:配置限流規(guī)則,將流控模式設(shè)置為關(guān)聯(lián),關(guān)聯(lián)資源設(shè)置為的 /order/message2

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

第2步:通過 Apache JMeter 軟件向 /order/message2 連續(xù)發(fā)送請求,注意QPS一定要大于3

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級
【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

第3步:通過瀏覽器訪問/order/message1,會發(fā)現(xiàn)已經(jīng)被限流

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

鏈路流控模式

鏈路流控模式指的是,當(dāng)從某個接口過來的資源達(dá)到限流條件時,開啟限流。它的功能有點類似于【針對來源配置項】,區(qū)別在于:針對來源是針對上級微服務(wù),而鏈路流控是針對上級接口,也就是說它的粒度更細(xì)。

第1步:編寫一個Service,在里面添加一個方法 message

@Service
public class OrderServiceImpl extends ServiceImpl<OrderMapper, ShopOrder> implements IOrderService {

    @Override
    @SentinelResource("message")
    public void message() {
        System.out.println("message");
    }
}

第2步:在Controller中聲明兩個方法,分別調(diào)用service中的方法message

@RestController
@RequestMapping("/order")
@Slf4j
public class OrderController3 {

    @Autowired
    private IOrderService orderService;

    @RequestMapping("/message1")
    public String message1() {
        orderService.message();
        return"message1";
    }
    @RequestMapping("/message2")
    public String message2() {
        orderService.message();
        return"message2";
    }
}

第3步:禁止收斂URL的入口context

從1.6.3版本開始,SentinelWebFluxFilter默認(rèn)收斂所有URL的入口context,因此鏈路限流不生效。

1.7.0版本開始(對應(yīng)SCA的2.1.1.RELEASE),官方在CommonFilter引入了WEB_CONTEXT_UNIFY參數(shù),用于控制是否收斂 context 。將其配置為 false 即可根據(jù)不同的URL 進(jìn)行鏈路限流。

SCA 2.1.1.RELEASE之后的版本,可以通過配置spring.cloud.sentinel.web-context-unify=false即可關(guān)閉收斂。我們當(dāng)前使用的版本是Spring Cloud Alibaba 2.1.0.RELEASE,無法實現(xiàn)鏈路限流。

目前官方還未發(fā)布SCA 2.1.2.RELEASE,所以我們只能使用2.1.1.RELEASE,需要寫代碼的形式實現(xiàn)
(1)暫時將Spring Cloud Alibaba的版本調(diào)整為2.1.1.RELEASE,如果引入的依賴加了版本號也記得改一下

<spring-cloud-alibaba.version>2.1.1.RELEASE</spring-cloud-alibaba.version>
<dependency>
   <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
    <version>2.1.1.RELEASE</version>
</dependency>

(2)配置文件中關(guān)閉 sentinel 的 CommonFilter 實例化

spring:
  cloud:
    sentinel:
      filter:
        enabled: false

(3)添加一個配置類,自己構(gòu)建CommonFilter實例

@Configuration
public class FilterContextConfig {

    @Bean
    public FilterRegistrationBean sentinelFilterRegistration(){
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
        filterRegistrationBean.setFilter(new CommonFilter());
        filterRegistrationBean.addUrlPatterns("/*");
        //入口資源關(guān)閉聚合
        filterRegistrationBean.addInitParameter(CommonFilter.WEB_CONTEXT_UNIFY,"false");
        filterRegistrationBean.setName("sentinelFilter");
        filterRegistrationBean.setOrder(1);
        return filterRegistrationBean;
    }
}

第4步:控制臺配置限流規(guī)則

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

第5步:分別通過/order/message1/order/message2訪問,發(fā)現(xiàn)2沒問題,1的被限流了

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

配置流控效果

  • 快速失敗(默認(rèn)):直接失敗,拋出異常,不做任何額外的處理,是最簡單的效果。
  • Warm Up:它從開始閾值到最大QPS閾值會有一個緩沖階段,一開始的閾值是最大QPS閾值的1/3,然后慢慢增長,直到最大閾值,適用于將突然增大的流量轉(zhuǎn)換為緩步增長的場景。
  • 排隊等待:讓請求以均勻的速度通過,單機(jī)閾值為每秒通過數(shù)量,其余的排隊等待;它還會讓設(shè)置一個超時時間,當(dāng)請求超過超時時間還未處理,則會被丟棄。

熔斷規(guī)則

熔斷規(guī)則就是設(shè)置當(dāng)滿足什么條件的時候,對服務(wù)進(jìn)行熔斷。Sentinel提供了三個衡量條件

慢調(diào)用比例

在1000ms內(nèi),請求至少有10個的情況下,出現(xiàn)了大于等于10%的請求調(diào)用時間大于100毫秒,則在3秒內(nèi)會自動熔斷,觸發(fā)降級。

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

參數(shù)解釋:

  • 最大RT:調(diào)用接口的最大時間。
  • 比例閾值:超過了最大RT調(diào)用時間的請求的比例。
  • 熔斷時長:觸發(fā)熔斷后,熔斷的時間。
  • 最小請求數(shù)據(jù):每秒最少的請求數(shù)量,只有大于等于這個數(shù)量,才會觸發(fā)熔斷策略。
  • 統(tǒng)計時長:時間窗口的概念。

注意 Sentinel 默認(rèn)統(tǒng)計的RT上限是 4900 ms,超出此閾值的都會算作4900ms,若需要變更此上限可以通過啟動配置項-Dcsp.sentinel.statistic.max.rt=xxx來配置。

異常比例

如圖所示,即/order/message2接口,在1000ms內(nèi),請求至少有5個的情況下,出現(xiàn)了大于等于10%的請求拋出了異常,則在3秒內(nèi)會自動熔斷,觸發(fā)降級。

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

第1步:首先模擬一個異常

int i = 0;
@RequestMapping("/message2")
public String message2() {
    i++;
    if(i%3==0){
        throw new RuntimeException();
    }
    return"message2";
}

第2步:設(shè)置異常比例為0.25

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級
不想用 Apache JMeter 進(jìn)行測試的小伙伴,可以直接使用 Apifox 進(jìn)行測試,首先選中左側(cè)tab中的【自動化測試】,然后選擇【添加測試場景】

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級
【添加步驟】選擇【添加自定義請求】

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級
添加自己的請求,保存并返回,在右側(cè)設(shè)置好運行參數(shù),然后點擊【運行】按鈕。

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級
此時再在瀏覽器去訪問/order4/message2接口就會出現(xiàn)Blocked by Sentinel (flow limiting)信息。

異常數(shù)

在一秒內(nèi),請求至少有5個的情況下,出現(xiàn)了大于等于一個的請求拋出了異常,則在3秒內(nèi)會自動熔斷,觸發(fā)降級。

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

熱點規(guī)則

熱點參數(shù)流控規(guī)則是一種更細(xì)粒度的流控規(guī)則,它允許將規(guī)則具體到參數(shù)上。

熱點規(guī)則簡單使用

  1. 編寫代碼
@RequestMapping("/message3")
//注意這里必須使用這個注解標(biāo)識,否則熱點規(guī)則不生效
@SentinelResource("message3")
public String message3(String name,String age) {
    return name + age;
}
  1. 配置熱點規(guī)則

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

  1. 分別用兩個參數(shù)訪問,會發(fā)現(xiàn)只對第一個參數(shù)限流了

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

熱點規(guī)則增強(qiáng)使用

【參數(shù)例外項】允許對一個參數(shù)的具體值進(jìn)行流控。編輯剛才定義的規(guī)則,增加【參數(shù)例外項】

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

參數(shù)值為zha,限流閾值為10,這樣當(dāng)訪問路徑上第一個參數(shù)name的值為zha時,在一秒(統(tǒng)計窗口時長)內(nèi)訪問超過10次(單機(jī)閾值)才會發(fā)生限流,如果第一個參數(shù)name的值不是zha時,限流的閾值還是1,如果不帶參數(shù)name不會觸發(fā)限流,注意指定的參數(shù)類型要與方法的參數(shù)類型保持一致。

授權(quán)規(guī)則

很多時候,我們需要根據(jù)調(diào)用來源來判斷該次請求是否允許放行,這時候可以使用Sentinel的來源訪問控制的功能。來源訪問控制根據(jù)資源的請求來源(origin)限制資源是否通過:

  • 若配置白名單,則只有請求來源位于白名單內(nèi)時才可通過;
  • 若配置黑名單,則請求來源位于黑名單時不通過,其余的請求通過。

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

上面的資源名和授權(quán)類型不難理解,但是流控應(yīng)用怎么填寫呢?

其實這個位置要填寫的是來源標(biāo)識,Sentinel 提供了 RequestOriginParser 接口來處理來源。只要 Sentinel 保護(hù)的接口資源被訪問,Sentinel 就會調(diào)用 RequestOriginParser 的實現(xiàn)類去解析訪問來源。

  1. 自定義來源處理規(guī)則
@Service
public class RequestOriginParserDefinition implements RequestOriginParser {
    @Override
    public String parseOrigin(HttpServletRequest httpServletRequest) {
        String serviceName = httpServletRequest.getParameter("serviceName");
        return serviceName;
    }
}
  1. 授權(quán)規(guī)則配置
    這個配置的意思是只有serviceName=pc不能訪問(黑名單)

【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則,微服務(wù)專欄,spring cloud,sentinel,SpringBoot,Spring,流控規(guī)則,熔斷降級

  1. 訪問
    訪問 http://localhost:8091/order4/message1?serviceName=pc 返回Blocked by Sentinel (flow limiting)

系統(tǒng)規(guī)則

系統(tǒng)保護(hù)規(guī)則是從應(yīng)用級別的入口流量進(jìn)行控制,從單臺機(jī)器的總體 Load、RT、入口QPS、CPU使用率和線程數(shù)五個維度監(jiān)控應(yīng)用數(shù)據(jù),讓系統(tǒng)盡可能跑在最大吞吐量的同時保證系統(tǒng)整體的穩(wěn)定性。

系統(tǒng)保護(hù)規(guī)則是應(yīng)用整體維度的,而不是資源維度的,并且僅對入口流量(進(jìn)入應(yīng)用的流量)生效。

  • Load (僅對Linux/Unix-like 機(jī)器生效):當(dāng)系統(tǒng) load1 超過閾值,且系統(tǒng)當(dāng)前的并發(fā)線程數(shù)超過系統(tǒng)容量時才會觸發(fā)系統(tǒng)保護(hù)。系統(tǒng)容量由系統(tǒng)的 maxQps*minRt 計算得出。設(shè)定參考值一般是 CPU cores*2.5。
  • RT:當(dāng)單臺機(jī)器上所有入口流量的平均 RT 達(dá)到閾值即觸發(fā)系統(tǒng)保護(hù),單位是毫秒。
  • 線程數(shù):當(dāng)單臺機(jī)器上所有入口流量的并發(fā)線程數(shù)達(dá)到閾值即觸發(fā)系統(tǒng)保護(hù)。
  • 入口QPS:當(dāng)單臺機(jī)器上所有入口流量的QPS達(dá)到閾值即觸發(fā)系統(tǒng)保護(hù)。
  • CPU使用率:當(dāng)單臺機(jī)器上所有入口流量的CPU使用率達(dá)到閾值即觸發(fā)系統(tǒng)保護(hù)。

擴(kuò)展:自定義異常返回

@Component
public class ExceptionHandlerPage implements UrlBlockHandler {
    @Override
    public void blocked(HttpServletRequest httpServletRequest,
                        HttpServletResponse httpServletResponse,
                        //BlockException 異常接口,包含Sentinel的五個異常
                        // @SentinelResource 用于定義資源,并提供可選的異常處理和fallback 配置項。其主要參數(shù)如下:
                        // FlowException 限流異常
                        // DegradeException 降級異常
                        // ParamFlowException 參數(shù)限流異常
                        // AuthorityException 授權(quán)異常
                        // SystemBlockException 系統(tǒng)負(fù)載異常
                        BlockException e) throws IOException {
        httpServletResponse.setContentType("application/json;charset=utf-8");
        ResponseData data = null;
        if(e instanceof FlowException) {
            data = new ResponseData(-1, "接口被限流了…");
        }else if (e instanceof DegradeException){
            data= new ResponseData(-2, "接口被降級了…");
        }
        httpServletResponse.getWriter().write(JSON.toJSONString(data));
    }
}


@Data
@AllArgsConstructor
@NoArgsConstructor
public class ResponseData {
    private int code;
    private String message;
}

總結(jié)

到這兒,服務(wù)容錯中間件Sentinel的概念和功能以及五大規(guī)則就已經(jīng)介紹完了。下一篇將為大家?guī)砣蒎e組件 Sentinel 的規(guī)則持久化的文章,敬請期待吧!

后續(xù)的文章,我們將繼續(xù)完善我們的微服務(wù)系統(tǒng),集成更多的Alibaba組件。想要了解更多JAVA后端知識,請點擊文末名片與我交流吧。留下您的一鍵三連,讓我們在這個寒冷的東西互相溫暖吧!文章來源地址http://www.zghlxwxcb.cn/news/detail-858737.html

到了這里,關(guān)于【Spring Cloud】服務(wù)容錯中間件Sentinel進(jìn)階——五大規(guī)則的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • spring cloud 搭建消息中間件 RabbitMQ 環(huán)境、Mac/Windows下載安裝RabbitMQ、配置RabbitMQ環(huán)境變量

    spring cloud 搭建消息中間件 RabbitMQ 環(huán)境、Mac/Windows下載安裝RabbitMQ、配置RabbitMQ環(huán)境變量

    spring boot、spring cloud工程:Mac/Windows下載安裝Erlang、RabbitMQ,并配置環(huán)境變量。 這里學(xué)習(xí)如何安裝 RabbitMQ,因為遠(yuǎn)程配置中心的動態(tài)更新需要結(jié)合 RabbitMQ 來使用。 這里給出自己下載和使用的百度網(wǎng)盤鏈接:Erlang 版本為25.3.2、RabbitMQ版本為3.12.1 : 鏈接:百度網(wǎng)盤鏈接 提取碼:

    2024年02月15日
    瀏覽(20)
  • Sentinel限流中間件

    Sentinel限流中間件

    目錄 介紹 Sentinel 的特征 Sentinel 的組成 實戰(zhàn)使用 簡單實例 配置本地控制臺 使用可視化ui配置簡單流控 配置異步任務(wù)限流 使用注解定義限流資源 SpringCloud整合Sentinel 簡單整合 ?并發(fā)線程流控 關(guān)聯(lián)模式? 整合openFeign使用 隨著微服務(wù)的流行,服務(wù)和服務(wù)之間的穩(wěn)定性變得越來越

    2024年02月15日
    瀏覽(17)
  • springcloud中間件:sentinel的簡單使用

    springcloud中間件:sentinel的簡單使用

    Sentinel 是面向分布式服務(wù)架構(gòu)的 高可用流量防護(hù)組件 ,主要以流量為切入點,從限流、流量整形、熔斷降級、系統(tǒng)負(fù)載保護(hù)、熱點防護(hù)等多個維度來幫助開發(fā)者保障微服務(wù)的穩(wěn)定性。 避免大批量的瞬時請求都打到服務(wù)上,將服務(wù)壓垮。 Sentinel 具有以下 特征 : 豐富的應(yīng)用場

    2024年02月11日
    瀏覽(18)
  • Spring Cloud Alibaba 最新版本(基于Spring Boot 3.1.0)整合完整使用及與各中間件集成
Sleuth+Zipkin集成分布式鏈路追蹤

    Spring Cloud Alibaba 最新版本(基于Spring Boot 3.1.0)整合完整使用及與各中間件集成 Sleuth+Zipkin集成分布式鏈路追蹤

    目錄 前言 源碼地址 官方中文文檔 使用版本 spring Spring Boot 3.1.0 中間件 使用到的組件與功能 環(huán)境安裝 虛擬機(jī) nexus nacos 集成過程 工程搭建 父工程搭建 子工程 服務(wù)集成 nacos集成 配置文件 服務(wù)注冊與發(fā)現(xiàn)-discovery 服務(wù)注冊 啟動 服務(wù)發(fā)現(xiàn) 測試 配置管理-config 新增配置 ?測試

    2024年02月12日
    瀏覽(59)
  • GoZero微服務(wù)個人探究之路(七)添加中間件、自定義中間件

    GoZero微服務(wù)個人探究之路(七)添加中間件、自定義中間件

    官方已經(jīng)自己實現(xiàn)了很多中間件,我們可以方便的直接使用,不用重復(fù)造輪子了 開啟方式可以看官方文檔 中間件 | go-zero Documentation 在業(yè)務(wù)邏輯中,我們需要實現(xiàn)自定義功能的中間件 ------這里我們以實現(xiàn)跨源訪問的中間件(詳情可見這篇文章flutter開發(fā)web應(yīng)用網(wǎng)絡(luò)請求后臺失

    2024年01月21日
    瀏覽(26)
  • 使用Spring Boot集成中間件:基礎(chǔ)篇

    在現(xiàn)代應(yīng)用開發(fā)中,中間件在構(gòu)建高效、可擴(kuò)展的系統(tǒng)方面起著至關(guān)重要的作用。而Spring Boot作為一種快速開發(fā)框架,提供了豐富的集成中間件的能力,使得我們能夠輕松地將各種中間件引入到我們的應(yīng)用程序中。本文將重點介紹如何使用Spring Boot集成Redis中間件,并提供一個

    2024年01月25日
    瀏覽(23)
  • 微服務(wù)中間件--微服務(wù)保護(hù)

    微服務(wù)中間件--微服務(wù)保護(hù)

    雪崩問題 微服務(wù)調(diào)用鏈路中的某個服務(wù)故障,引起整個鏈路中的所有微服務(wù)都不可用,這就是雪崩 解決雪崩問題的常見方式有四種: 超時處理:設(shè)定超時時間,請求超過一定時間沒有響應(yīng)就返回錯誤信息,不會無休止等待 艙壁模式:限定每個業(yè)務(wù)能使用的線程數(shù),避免耗盡

    2024年02月12日
    瀏覽(34)
  • 服務(wù)器中間件

    服務(wù)器中間件

    一、tomcat tomcat(全稱為Apache Tomcat)是一個開源的Java Web應(yīng)用服務(wù)器,它實現(xiàn)了Java Servlet、JavaServer Pages(JSP)和Java WebSocket等JavaEE規(guī)范,提供了一個運行Java Web應(yīng)用的容器。Tomcat由Apache軟件基金會開發(fā)和維護(hù),是一個非常流行的Web應(yīng)用服務(wù)器。 Tomcat的主要特點包括: Servlet容器

    2024年02月10日
    瀏覽(31)
  • 微服務(wù)中間件--MQ

    微服務(wù)中間件--MQ

    同步調(diào)用的問題 微服務(wù)間基于Feign的調(diào)用就屬于同步方式,存在一些問題。 耦合度高:每次加入新的需求,都要修改原來的代碼 性能下降:調(diào)用者需要等待服務(wù)提供者響應(yīng),如果調(diào)用鏈過長則響應(yīng)時間等于每次調(diào)用的時間之和。 資源浪費:調(diào)用鏈中的每個服務(wù)在等待響應(yīng)過

    2024年02月11日
    瀏覽(27)
  • 微服務(wù)中間件--Nacos

    微服務(wù)中間件--Nacos

    Nacos是阿里巴巴的產(chǎn)品,現(xiàn)在是SpringCloud中的一個組件。相比Eureka功能更加豐富,在國內(nèi)受歡迎程度較高。 在bin目錄下windows命令: 執(zhí)行后的效果如圖: 1.在cloud-demo父工程中添加spring-cloud-alilbaba的管理依賴 父工程: 客戶端: 2.注釋掉order-service和user-service中原有的eureka依賴。

    2024年02月11日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包