最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springcloud3 Sentinel的搭建及案例操作方法

 更新時(shí)間:2023年01月28日 14:39:36   作者:健康平安的活著  
Sentinel是分布式系統(tǒng)流量控制的哨兵,阿里開源的一套服務(wù)容錯(cuò)的綜合性解決方案,這篇文章主要介紹了springcloud3 Sentinel的搭建以及案例操作,需要的朋友可以參考下

一 sentinel的概念

1.1 sentinel

Sentinel是分布式系統(tǒng)流量控制的哨兵,阿里開源的一套服務(wù)容錯(cuò)的綜合性解決方案。

主要用來處理:

服務(wù)降級

服務(wù)熔斷

超時(shí)處理

流量控制

sentinel 的使用可以分為兩個(gè)部分:

核心庫(Java 客戶端):不依賴任何框架/庫,能夠運(yùn)行于 Java 8 及以上的版本的運(yùn)行時(shí)環(huán)境,同時(shí)對 Dubbo / Spring Cloud 等框架也有較好的支持。

控制臺(Dashboard):Dashboard 主要負(fù)責(zé)管理推送規(guī)則、監(jiān)控、管理機(jī)器信息等。基于 Spring Boot 開發(fā),打包后可以直接運(yùn)行。

二 sentinel的安裝

2.1 sentinel的安裝

中文文檔:

quick-start | Sentinel

程序包下載:

Releases · alibaba/Sentinel · GitHub

啟動jar包

F:\>java -jar sentinel-dashboard-1.7.2.jar

頁面訪問: sentinel /  sentinel

輸入地址: http://localhost:8080/

三   sentinel的各種用途

3.1 實(shí)時(shí)監(jiān)控

3.1.1 架構(gòu)圖

3.1.2 sentinel消費(fèi)項(xiàng)目

1.pom

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13</version>
      <scope>test</scope>
    </dependency>
    <!--SpringCloud ailibaba nacos -->
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
      <version>2021.1</version>
    </dependency>
    <!--SpringCloud ailibaba sentinel-datasource-nacos 后續(xù)做持久化用到-->
    <dependency>
      <groupId>com.alibaba.csp</groupId>
      <artifactId>sentinel-datasource-nacos</artifactId>
      <version>1.5.2</version>
    </dependency>
    <!--SpringCloud ailibaba sentinel -->
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
      <version>2021.1</version>
    </dependency>
    <!--openfeign-->
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-openfeign</artifactId>
    </dependency>
    <!-- SpringBoot整合Web組件+actuator -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <!--日常通用jar包配置-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <scope>runtime</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>cn.hutool</groupId>
      <artifactId>hutool-all</artifactId>
      <version>4.6.3</version>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

2.application配置文件

server:
  port: 7005
 
spring:
  application:
    name: mscloud-sentinel-consumer
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #Nacos服務(wù)注冊中心地址
    sentinel:
      transport:
        dashboard: localhost:8080 #配置Sentinel dashboard地址
        port: 8719
 
management:
  endpoints:
    web:
      exposure:
        include: '*'

3.業(yè)務(wù)類

@RestController
@Slf4j
public class DataLimitController {
        @GetMapping("/testA")
        public String testA()
        {
            return "------testA";
        }
 
        @GetMapping("/testB")
        public String testB()
        {
            log.info(Thread.currentThread().getName()+"\t"+"...testB");
            return "------testB";
        }
}

4.啟動類

@EnableDiscoveryClient
@SpringBootApplication
public class App 
{
    public static void main( String[] args )
 
    {
        SpringApplication.run(App.class, args);
    }
}

3.1.3 操作

1.啟動nacos

2.啟動sentinel服務(wù)

 3.啟動sentinel消費(fèi)服務(wù)

 3.1.4 進(jìn)行監(jiān)控訪問

訪問地址: http://localhost:7005/testA      多次刷新訪問幾次

 2.查看監(jiān)控

訪問地址: http://localhost:7005/testB      多次刷新訪問幾次

3.2 流量控制

3.2.1 qps+閾值進(jìn)行限流

1.查看資源,針對資源進(jìn)行流控

 2.設(shè)置配置

1秒鐘qps的閾值為3,一秒鐘請求大于3,則容錯(cuò)提示。

 聯(lián)系請求大于3次,則 給出如下提示:

 3.2.2 線程數(shù)+閾值進(jìn)行限流

當(dāng)線程數(shù)達(dá)到閾值后,進(jìn)行限流提示。

1.設(shè)置

2.訪問驗(yàn)證

 3.2.3 線程數(shù)+閾值+關(guān)聯(lián)進(jìn)行限流

1.通過資源A關(guān)聯(lián)的資源B,資源B發(fā)生qps超過規(guī)定的閾值,則導(dǎo)致資源A進(jìn)行限流提示。

2.設(shè)置

 3.postman定時(shí)這是

4.查看訪問資源A:http://localhost:7005/testA

 3.2.4 線程數(shù)+閾值+關(guān)聯(lián)+預(yù)熱進(jìn)行限流

1.說明:

默認(rèn)的colorfactor為3,QPS是從(threshold/3)開始,即

系統(tǒng)初始化的閾值為:12/3約等于4,,即閾值初始化為4,經(jīng)過5秒后閾值才升到設(shè)定的12.

2.配置

3.訪問

前5秒,不停刷新會提示限流信息,

 5秒過后,不停刷新(手工不停刷新達(dá)不到設(shè)定的閾值12),所以不再限流

 3.2.5 線程數(shù)+閾值+排隊(duì)等待進(jìn)行限流

1.說明

勻速排隊(duì):讓請求以均勻的速度通過,閾值類型必須設(shè)置成QPS,否則無效。

設(shè)置含義:/testB 每秒3次請求,超過閾值后就進(jìn)行排隊(duì),等待大于20秒則滿足超時(shí)時(shí)間,進(jìn)行請求。

2.配置

 3.查看效果

到此這篇關(guān)于springcloud3 Sentinel的搭建以及案例操作的文章就介紹到這了,更多相關(guān)springcloud3 Sentinel搭建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java高級排序之希爾排序

    java高級排序之希爾排序

    這篇文章主要介紹了java高級排序之希爾排序 ,需要的朋友可以參考下
    2015-04-04
  • Java集合中的fail-fast(快速失敗)機(jī)制詳解

    Java集合中的fail-fast(快速失敗)機(jī)制詳解

    這篇文章主要給大家介紹了關(guān)于Java集合中fail-fast(快速失敗)機(jī)制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Java基礎(chǔ)教程之接口的繼承與抽象類

    Java基礎(chǔ)教程之接口的繼承與抽象類

    這篇文章主要介紹了Java基礎(chǔ)教程之接口的繼承與抽象類,本文介紹了接口繼承、接口的多重繼承以及抽象類的知識,需要的朋友可以參考下
    2014-09-09
  • mybatis plus saveOrUpdate實(shí)現(xiàn)有重復(fù)數(shù)據(jù)就更新,否則新增方式

    mybatis plus saveOrUpdate實(shí)現(xiàn)有重復(fù)數(shù)據(jù)就更新,否則新增方式

    這篇文章主要介紹了mybatis plus saveOrUpdate實(shí)現(xiàn)有重復(fù)數(shù)據(jù)就更新,否則新增方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • spring boot 的常用注解使用小結(jié)

    spring boot 的常用注解使用小結(jié)

    這篇文章主要介紹了spring boot 的常用注解使用小結(jié),需要的朋友可以參考下
    2017-05-05
  • java如何導(dǎo)出insert語句并生成sql腳本

    java如何導(dǎo)出insert語句并生成sql腳本

    這篇文章主要介紹了java導(dǎo)出insert語句并生成sql腳本的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java基礎(chǔ)之并發(fā)相關(guān)知識總結(jié)

    Java基礎(chǔ)之并發(fā)相關(guān)知識總結(jié)

    隨著摩爾定律逐步失效,cpu單核性能達(dá)到瓶頸,并發(fā)逐漸逐漸得到廣泛應(yīng)用,因而學(xué)習(xí)了解以及使用并發(fā)就顯得十分重要,但并發(fā)相關(guān)的知識比較瑣碎,不易系統(tǒng)學(xué)習(xí),因而本篇文章參照王寶令老師《Java并發(fā)編程》來勾勒出一張“并發(fā)全景圖”,需要的朋友可以參考下
    2021-05-05
  • java 圖片驗(yàn)證碼的實(shí)現(xiàn)代碼

    java 圖片驗(yàn)證碼的實(shí)現(xiàn)代碼

    java 圖片驗(yàn)證碼的實(shí)現(xiàn)代碼,需要的朋友可以參考一下
    2013-05-05
  • Redis如何實(shí)現(xiàn)分布式鎖詳解

    Redis如何實(shí)現(xiàn)分布式鎖詳解

    分布式鎖一般有三種實(shí)現(xiàn)方式:1. 數(shù)據(jù)庫樂觀鎖;2. 基于Redis的分布式鎖;3. 基于ZooKeeper的分布式鎖.本篇文章將介紹第二種方式,基于Redis實(shí)現(xiàn)分布式鎖,文中有非常詳細(xì)的介紹,需要的朋友可以參考下
    2021-06-06
  • 如何使用java判斷是不是數(shù)字

    如何使用java判斷是不是數(shù)字

    這篇文章主要給大家介紹了關(guān)于如何使用java判斷是不是數(shù)字的相關(guān)資料,判斷一個(gè)字符串是否為數(shù)字是Java開發(fā)中很常見的業(yè)務(wù)需求,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06

最新評論

林口县| 灵山县| 成武县| 佛山市| 嵩明县| 潜江市| 乌拉特前旗| 苏尼特右旗| 增城市| 富顺县| 巴马| 长宁区| 望谟县| 克什克腾旗| 韶山市| 迭部县| 饶阳县| 讷河市| 苍南县| 休宁县| 华亭县| 周至县| 弥勒县| 宜宾县| 丹棱县| 梁山县| 双城市| 通渭县| 岚皋县| 穆棱市| 登封市| 青川县| 阳高县| 庆云县| 鄂托克旗| 工布江达县| 涟水县| 寻甸| 合川市| 东阳市| 丹巴县|