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

Spring Cloud Alibaba-Sentinel規(guī)則

這篇具有很好參考價值的文章主要介紹了Spring Cloud Alibaba-Sentinel規(guī)則。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1 流控規(guī)則

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

  • 第1步: 點擊簇點鏈路,我們就可以看到訪問過的接口地址,然后點擊對應的流控按鈕,進入流控規(guī)則配置頁面。新增流控規(guī)則界面如下:

Spring Cloud Alibaba-Sentinel規(guī)則,sentinel,java,網(wǎng)絡

?資源名:唯一名稱,默認是請求路徑,可自定義
針對來源:指定對哪個微服務進行限流,默認指default,意思是不區(qū)分來源,全部限制
閾值類型/單機閾值:
QPS(每秒請求數(shù)量): 當調(diào)用該接口的QPS達到閾值的時候,進行限流
線程數(shù):當調(diào)用該接口的線程數(shù)達到閾值的時候,進行限流
是否集群:暫不需要集群
接下來我們以QPS為例來研究限流規(guī)則的配置。

1.1 簡單配置

我們先做一個簡單配置,設置閾值類型為QPS,單機閾值為3。即每秒請求量大于3的時候開始限流。

接下來,在流控規(guī)則頁面就可以看到這個配置。

Spring Cloud Alibaba-Sentinel規(guī)則,sentinel,java,網(wǎng)絡

?然后快速訪問 /order/message1 接口,觀察效果。此時發(fā)現(xiàn),當QPS > 3的時候,服務就不能正常響應,而是返回Blocked by Sentinel (flow limiting)結(jié)果。

Spring Cloud Alibaba-Sentinel規(guī)則,sentinel,java,網(wǎng)絡

?1.2 配置流控模式

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

Spring Cloud Alibaba-Sentinel規(guī)則,sentinel,java,網(wǎng)絡

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

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

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

  • 直接流控模式

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

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

關(guān)聯(lián)流控模式指的是,當指定接口關(guān)聯(lián)的接口達到限流條件時,開啟對指定接口開啟限流。
第1步:配置限流規(guī)則, 將流控模式設置為關(guān)聯(lián),關(guān)聯(lián)資源設置為的 /order/message2。

Spring Cloud Alibaba-Sentinel規(guī)則,sentinel,java,網(wǎng)絡

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

Spring Cloud Alibaba-Sentinel規(guī)則,sentinel,java,網(wǎng)絡

?第4步:訪問/order/message1,會發(fā)現(xiàn)已經(jīng)被限流

Spring Cloud Alibaba-Sentinel規(guī)則,sentinel,java,網(wǎng)絡

  • ?鏈路流控模式

鏈路流控模式指的是,當從某個接口過來的資源達到限流條件時,開啟限流。它的功能有點類似于針對來源配置項,區(qū)別在于:針對來源是針對上級微服務,而鏈路流控是針對上級接口,也就是說它的粒度更細。
第1步: 編寫一個service,在里面添加一個方法message

@Service
public class OrderServiceImpl3 {
??@SentinelResource("message")
??public void message() {
????System.out.println("message");
?}
}

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

@RestController
@Slf4j
public class OrderController3 {
??@Autowired
??private OrderServiceImpl3 orderServiceImpl3;
??@RequestMapping("/order/message1")
??public String message1() {
????orderServiceImpl3.message();
????return "message1";
?}
??@RequestMapping("/order/message2")
??public String message2() {
????orderServiceImpl3.message();
????return "message2";
?}
}

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

Spring Cloud Alibaba-Sentinel規(guī)則,sentinel,java,網(wǎng)絡

?(1) 暫時將SpringCloud Alibaba的版本調(diào)整為2.1.1.RELEASE

<spring-cloud-alibaba.version>2.1.1.RELEASE</spring-cloud-alibaba.version>

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

spring:
cloud:
sentinel:
filter:
enabled: false

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

package com.itheima.config;
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("/*");
????// 入口資源關(guān)閉聚合
????registration.addInitParameter(CommonFilter.WEB_CONTEXT_UNIFY, "false");
????registration.setName("sentinelFilter");
????registration.setOrder(1);
????return registration;
?}
}

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

Spring Cloud Alibaba-Sentinel規(guī)則,sentinel,java,網(wǎng)絡

?第5步: 分別通過 /order/message1 和 /order/message2 訪問, 發(fā)現(xiàn)2沒問題, 1的被限流了文章來源地址http://www.zghlxwxcb.cn/news/detail-687760.html

1.3 配置流控效果

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

?

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

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

領支付寶紅包贊助服務器費用

相關(guān)文章

  • 【Spring Cloud Alibaba】Sentinel運行原理

    【Spring Cloud Alibaba】Sentinel運行原理

    本文基于sentinel-1.8.0版本 Sentinel 是面向分布式服務架構(gòu)的流量控制組件,主要以流量為切入點,從限流、流量整形、熔斷降級、系統(tǒng)負載保護、熱點防護等多個維度來幫助開發(fā)者保障微服務的穩(wěn)定性。 sentinel整體設計的很精巧,只需要一個sentinel-core便可以運行,它提供了諸如

    2024年02月15日
    瀏覽(19)
  • 【Spring Cloud Alibaba】Sentinel 服務熔斷與流量控制

    【Spring Cloud Alibaba】Sentinel 服務熔斷與流量控制

    目錄 前言 一、Sentinel 入門 1.1 什么是 Sentinel ? 1.2 微服務集成 Sentinel ?1.3 安裝Sentinel控制臺 二、Jmeter 壓力測試工具 2.1 Jmeter 介紹? 2.2 Jmeter 安裝 2.3 接口測試 三、Sentinel 使用 3.1 限流規(guī)則 3.1.1 warm up(預熱模式) 3.1.2?排隊等待 3.1.3 關(guān)聯(lián) 3.1.4 鏈路 3.2 熔斷規(guī)則 3.3 服務降級 ????

    2024年02月01日
    瀏覽(28)
  • 【springcloud 微服務】Spring Cloud Alibaba整合Sentinel詳解

    目錄 一、前言 二、環(huán)境準備 2.1 部署sentinel管控臺 2.1.1 官網(wǎng)下載sentinel的jar包 2.1.2 啟動控制臺

    2023年04月09日
    瀏覽(96)
  • 【springcloud 微服務】Spring Cloud Alibaba Sentinel使用詳解

    目錄 一、前言 二、分布式系統(tǒng)遇到的問題 2.1 服務可用性問題 2.1.1? 單點故障

    2024年01月16日
    瀏覽(22)
  • 【Spring Cloud Alibaba】7.Sentinel熔斷器儀表盤監(jiān)控

    【Spring Cloud Alibaba】7.Sentinel熔斷器儀表盤監(jiān)控

    接下來我們通過 Sentinel 控制臺來實現(xiàn)對服務消費者提供的熔斷機制進行監(jiān)控和控制,本操作先要完成之前的步驟,詳情請參照【Spring Cloud Alibaba】Spring Cloud Alibaba 搭建教程 Sentinel 提供一個輕量級的開源控制臺,它提供機器發(fā)現(xiàn)以及健康情況管理、監(jiān)控(單機和集群),規(guī)則管

    2023年04月08日
    瀏覽(22)
  • 微服務之Spring Cloud Alibaba Sentinel介紹與下載(詳細方法)

    微服務之Spring Cloud Alibaba Sentinel介紹與下載(詳細方法)

    隨著微服務的流行,服務和服務之間的穩(wěn)定性變得越來越重要。Sentinel 以流量為切入點,從流量控制、流量路由、熔斷降級、系統(tǒng)自適應過載保護、熱點流量防護等多個維度保護服務的穩(wěn)定性。 2012 年,Sentinel 誕生,主要功能為入口流量控制。 2013-2017 年,Sentinel 在阿里巴巴

    2024年02月11日
    瀏覽(95)
  • SpringCloud.04.熔斷器Hystrix( Spring Cloud Alibaba 熔斷(Sentinel))

    SpringCloud.04.熔斷器Hystrix( Spring Cloud Alibaba 熔斷(Sentinel))

    目錄 熔斷器概述 使用Sentinel工具 什么是Sentinel 微服務集成Sentinel 配置provider文件,在里面加入有關(guān)控制臺的配置 實現(xiàn)一個接口的限流 基本概念 重要功能 Sentinel規(guī)則 流控規(guī)則 簡單配置 配置流控模式 配置流控效果 降級規(guī)則 @SentinelResource的使用 Feign整合Sentinel 由于Hystrix已經(jīng)停

    2024年01月19日
    瀏覽(28)
  • SpringCloud學習6(Spring Cloud Alibaba)斷路器Sentinel熔斷降級

    SpringCloud學習6(Spring Cloud Alibaba)斷路器Sentinel熔斷降級

    SpringCloud、SpringCloudAlibaba、SpringBoot版本選擇。為了避免各種千奇百怪的bug,我們還是采用官方推薦的畢業(yè)版本。 修改tomcat配置最大線程數(shù) 引入測試依賴 編寫測試代碼 這里同時我們在瀏覽器去請求該地址,響應會變得很慢 測試結(jié)論:此時會發(fā)現(xiàn)由于thread接口囤積大量請求,

    2023年04月08日
    瀏覽(31)
  • Spring Cloud Alibaba全家桶(六)——微服務組件Sentinel介紹與使用

    Spring Cloud Alibaba全家桶(六)——微服務組件Sentinel介紹與使用

    本文小新為大家?guī)?微服務組件Sentinel介紹與使用 相關(guān)知識,具體內(nèi)容包括 分布式系統(tǒng)存在的問題 , 分布式系統(tǒng)問題的解決方案 , Sentinel介紹 , Sentinel快速開始 (包括: API實現(xiàn)Sentinel資源保護 , @SentinelResource注解實現(xiàn)資源保護 ), Sentinel控制臺 , Spring Cloud Alibaba整合

    2024年01月17日
    瀏覽(96)
  • 【Spring Cloud】服務容錯中間件Sentinel進階——五大規(guī)則

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

    我們在上一篇文章中對 Sentinel 已經(jīng)有了基本的了解,接下來,我們一起對它的進階進行學習吧! 資源 所謂資源就是 Sentinel 要保護的東西,資源是 Sentinel 的關(guān)鍵概念。它可以是Java應用程序中的任何內(nèi)容,可以是一個服務,也可以是一個方法,甚至可以是一段代碼。 我們?nèi)腴T

    2024年04月26日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包