欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中基于Nacos實(shí)現(xiàn)Sentinel規(guī)則持久化詳解

 更新時(shí)間:2023年09月12日 10:00:42   作者:tizzybepeacejoy  
這篇文章主要介紹了Java中基于Nacos實(shí)現(xiàn)Sentinel規(guī)則持久化詳解,Sentinel Dashboard中添加的規(guī)則數(shù)據(jù)存儲(chǔ)在內(nèi)存,微服務(wù)停掉規(guī)則數(shù)據(jù)就消失,在?產(chǎn)環(huán)境下不合適,我們可以將Sentinel規(guī)則數(shù)據(jù)持久化到Nacos配置中?,讓微服務(wù)從Nacos獲取規(guī)則數(shù)據(jù),需要的朋友可以參考下

前言

Sentinel Dashboard中添加的規(guī)則數(shù)據(jù)存儲(chǔ)在內(nèi)存,微服務(wù)停掉規(guī)則數(shù)據(jù)就消失,在?產(chǎn)環(huán)境下不合適。我們可以將Sentinel規(guī)則數(shù)據(jù)持久化到Nacos配置中?,讓微服務(wù)從Nacos獲取規(guī)則數(shù)據(jù)。

構(gòu)建

依賴

   <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--sentinel 核心環(huán)境 依賴-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
        <!-- Sentinel?持采? Nacos 作為規(guī)則配置數(shù)據(jù)源,引?該適配依賴 -->
        <dependency>
            <groupId>com.alibaba.csp</groupId>
            <artifactId>sentinel-datasource-nacos</artifactId>
        </dependency>

application.yml中配置Nacos數(shù)據(jù)源

server:
  port: 8100
spring:
  profiles:
    active: dev
  application:
    name: nacos-sentinel-8100
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
        # namespace + group 隔離環(huán)境
        namespace: 86614fa3-f528-44e7-95e5-265cc51feb41
        group: DEFAULT_GROUP
    sentinel:
      transport:
        dashboard: 127.0.0.1:8080 # sentinel dashboard/console地址
        port: 8100 # sentinel會(huì)在該端?啟動(dòng)http server,那么這樣 的話,控制臺(tái)定義的?些限流等規(guī)則才能發(fā)送傳遞過(guò)來(lái),
                  #如果 8100 端?被占?,那么會(huì)依次+1
      datasource:
        # 此處的flow為?定義數(shù)據(jù)源名
        flow: # 流控規(guī)則
          nacos:
            server-addr: ${spring.cloud.nacos.discovery.server-addr}
            # namespace + data-id + group 定位資源配置文件
            namespace: 86614fa3-f528-44e7-95e5-265cc51feb41
            data-id: ${spring.application.name}-flow-rules
            groupId: DEFAULT_GROUP
            data-type: json
            rule-type: flow # 類型來(lái)?RuleType類
        degrade:
          nacos:
            server-addr: ${spring.cloud.nacos.discovery.server-addr}
            namespace: 86614fa3-f528-44e7-95e5-265cc51feb41
            data-id: ${spring.application.name}-degrade-rules
            groupId: DEFAULT_GROUP
            data-type: json
            rule-type: degrade # 類型來(lái)?RuleType類
management:
  endpoints:
    web:
      exposure:
        include: "*"
  # 暴露健康接口的細(xì)節(jié)
  endpoint:
    health:
      show-details: always

接口

@RestController
@RequestMapping("/api")
public class Test1Controller {
    @GetMapping("/test1")
    public String test1(String str) {
        return str +"test1 : GetMapping  " + LocalDateTime.now();
    }
    @GetMapping("/test2")
    public String test2(String str) {
        int i = 1/0;
        return str +"test2 : GetMapping  " + LocalDateTime.now();
    }
    @RequestMapping("/test3")
    public String test3(String str) {
        int i = 1/0;
        return str +"test3 : GetMapping  " + LocalDateTime.now();
    }
}

nacos中添加配置限流和熔斷規(guī)則

屬性配置說(shuō)明

流量配置

熔斷配置

在之前自定義流量限流和熔斷限流中可以知道,捕獲異常規(guī)則時(shí)候類是下面這些類。 FlowRule流量控制,DegradeRule熔斷規(guī)則。

我們重啟服務(wù)后可以看到/api/test1限流規(guī)則

/api/test2熔斷規(guī)則

注意

1)?個(gè)資源可以同時(shí)有多個(gè)限流規(guī)則和降級(jí)規(guī)則,所以配置集中是?個(gè)json數(shù)組。

2)Sentinel控制臺(tái)中修改規(guī)則,僅是內(nèi)存中?效,不會(huì)修改Nacos中的配置值,重啟后恢復(fù)原來(lái)的值; Nacos控制臺(tái)中修改規(guī)則,不僅內(nèi)存中?效,Nacos中持久化規(guī)則也?效,重啟后規(guī)則依然保持。

到此這篇關(guān)于Java中基于Nacos實(shí)現(xiàn)Sentinel規(guī)則持久化詳解的文章就介紹到這了,更多相關(guān)Nacos實(shí)現(xiàn)Sentinel規(guī)則持久化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot整合Redis使用@Cacheable和RedisTemplate

    SpringBoot整合Redis使用@Cacheable和RedisTemplate

    本文主要介紹了SpringBoot整合Redis使用@Cacheable和RedisTemplate,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Java 輕松入門了解File類的使用

    Java 輕松入門了解File類的使用

    Java文件類以抽象的方式代表文件名和目錄路徑名。該類主要用于文件和目錄的創(chuàng)建、文件的查找和文件的刪除等。File對(duì)象代表磁盤中實(shí)際存在的文件和目錄。通過(guò)以下構(gòu)造方法創(chuàng)建一個(gè)File對(duì)象
    2022-03-03
  • SpringBoot入門之集成Druid的方法示例

    SpringBoot入門之集成Druid的方法示例

    這篇文章主要介紹了SpringBoot入門之集成Druid的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 使用SpringBoot創(chuàng)建一個(gè)RESTful API的詳細(xì)步驟

    使用SpringBoot創(chuàng)建一個(gè)RESTful API的詳細(xì)步驟

    使用 Java 的 Spring Boot 創(chuàng)建 RESTful API 可以滿足多種開發(fā)場(chǎng)景,它提供了快速開發(fā)、易于配置、可擴(kuò)展、可維護(hù)的優(yōu)點(diǎn),尤其適合現(xiàn)代軟件開發(fā)的需求,幫助你快速構(gòu)建出高性能的后端服務(wù),需要的朋友可以參考下
    2025-01-01
  • Springboot @WebFilter無(wú)法注入其他Bean的示例問(wèn)題

    Springboot @WebFilter無(wú)法注入其他Bean的示例問(wèn)題

    這篇文章主要介紹了Springboot @WebFilter無(wú)法注入其他Bean的示例問(wèn)題,本文通過(guò)示例代碼給大家分享解決方法,需要的朋友可以參考下
    2021-09-09
  • JAVA實(shí)現(xiàn)線程的三種方法

    JAVA實(shí)現(xiàn)線程的三種方法

    這篇文章介紹了JAVA實(shí)現(xiàn)線程的三種方法,有需要的朋友可以參考一下
    2013-09-09
  • JMeter 實(shí)現(xiàn)Java請(qǐng)求步驟及原理詳解

    JMeter 實(shí)現(xiàn)Java請(qǐng)求步驟及原理詳解

    這篇文章主要介紹了JMeter 實(shí)現(xiàn)Java請(qǐng)求步驟及原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Java實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼的示例代碼

    Java實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼的示例代碼

    這篇文章主要為大家介紹了如何用Java語(yǔ)言實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼的生成,項(xiàng)目采用了springboot,maven等技術(shù),感興趣的小伙伴可以跟隨小編學(xué)習(xí)一下
    2022-02-02
  • Spring bean生命周期配置過(guò)程解析

    Spring bean生命周期配置過(guò)程解析

    這篇文章主要介紹了Spring bean生命周期配置過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 基于spring注入為null的原因及解決方案

    基于spring注入為null的原因及解決方案

    這篇文章主要介紹了spring注入為null的原因及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評(píng)論