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

Resilience4J通過yml設(shè)置circuitBreaker的方法

 更新時間:2022年10月21日 08:59:37   作者:BitBean  
Resilience4j是一個輕量級、易于使用的容錯庫,其靈感來自Netflix Hystrix,但專為Java 8和函數(shù)式編程設(shè)計,這篇文章主要介紹了Resilience4J通過yml設(shè)置circuitBreaker的方法,需要的朋友可以參考下

介紹

Resilience4j是一個輕量級、易于使用的容錯庫,其靈感來自Netflix Hystrix,但專為Java 8和函數(shù)式編程設(shè)計。
springcloud2020升級以后Hystrix被官方移除,Resilience4目前是官方推薦的熔斷限流方案。

核心組件

相關(guān)問題

按照網(wǎng)上很多文章進(jìn)行熔斷器配置,發(fā)現(xiàn)并不能讀取配置中的參數(shù),走的還是Resilience4J中CircuitBreakerConfig默認(rèn)的參數(shù)。通過測試實現(xiàn)了一種能讀取yml中斷路器配置的方案

resilience4j.circuitbreaker:
  configs: #通用配置
    default: # 斷路器系統(tǒng)默認(rèn)配置
      #失敗率,錯誤率達(dá)到或高于該值則進(jìn)入open狀態(tài)
      failureRateThreshold: 20
      #慢調(diào)用閥值,請求執(zhí)行的時間大于該值時會標(biāo)記為慢調(diào)用
      slowCallDurationThreshold: 60s
      #慢調(diào)用熔斷閥值,當(dāng)慢調(diào)用率達(dá)到或高于該值時,進(jìn)入open狀態(tài)
      slowCallRateThreshold: 90
      #狀態(tài)滾動收集器大小,close狀態(tài)時收集多少請求狀態(tài),用于計算失敗率。
      slidingWindowSize: 90
      #狀態(tài)收集器類型
      #COUNT_BASED:根據(jù)數(shù)量計算,slidingWindowSize為次數(shù)
      #TIME_BASED:根據(jù)時間計算,slidingWindowSize為秒數(shù)
      slidingWindowType: COUNT_BASED
      #計算錯誤率的最小請求數(shù),不足最小調(diào)用次數(shù)不會觸發(fā)任何變化。
      minimumNumberOfCalls: 10
      #是否自動進(jìn)入halfOpen狀態(tài),默認(rèn)false-一定時間后進(jìn)入halfopen,ture-需要通過接口執(zhí)行。
      automaticTransitionFromOpenToHalfOpenEnabled: false
      #進(jìn)入halfOpen狀態(tài)時,可以被調(diào)用次數(shù),就算這些請求的失敗率,低于設(shè)置的失敗率變?yōu)閏lose狀態(tài),否則變?yōu)閛pen。
      permittedNumberOfCallsInHalfOpenState: 10
      #open狀態(tài)變?yōu)閔alf狀態(tài)需要等待的時間,即熔斷多久后開始嘗試訪問被熔斷的服務(wù)。
      waitDurationInOpenState: 60s
      #事件緩沖區(qū)大????
      eventConsumerBufferSize: 10
      #被計為失敗的異常集合,默認(rèn)情況下所有異常都為失敗。
      recordExceptions:
        - java.lang.Exception
      #不會被計為失敗的異常集合,優(yōu)先級高于recordExceptions。
      ignoreExceptions:
        - java.lang.IllegalStateException
  instances: #熔斷器類型
    aCustomizer: #使用默認(rèn)配置
      baseConfig: default
    cacheCustomizer: #自定義配置
      failureRateThreshold: 10
   @Bean
    @Primary
    public Resilience4JCircuitBreakerFactory resilience4jCircuitBreakerFactory() {
        Resilience4JCircuitBreakerFactory factory = new Resilience4JCircuitBreakerFactory();
        factory.configureDefault(
                id -> new Resilience4JConfigBuilder(id)
                        .circuitBreakerConfig(
                                circuitBreakerRegistry.circuitBreaker("aCustomizer").getCircuitBreakerConfig()
                        )
                        .timeLimiterConfig(
                                new TimeLimiterConfig.Builder()
                                        .timeoutDuration(Duration.ofSeconds(4))
                                        .cancelRunningFuture(true)
                                        .build()
                        )
                        .build());
        System.out.println(factory);
        return factory;
    }

源碼

https://gitee.com/gustav0/resilience4-jdemo

到此這篇關(guān)于Resilience4J通過yml設(shè)置circuitBreaker的文章就介紹到這了,更多相關(guān)Resilience4J設(shè)置circuitBreaker內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • Java中IO流文件讀取、寫入和復(fù)制的實例

    Java中IO流文件讀取、寫入和復(fù)制的實例

    下面小編就為大家?guī)硪黄狫ava中IO流文件讀取、寫入和復(fù)制的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Spring Boot 如何解決富文本上傳圖片跨域問題

    Spring Boot 如何解決富文本上傳圖片跨域問題

    這篇文章主要介紹了Spring Boot 如何解決富文本上傳圖片跨域問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java Map.Entry的使用方法解析

    Java Map.Entry的使用方法解析

    這篇文章主要介紹了Java Map.Entry的使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 手把手教你SpringBoot快速集成Swagger的配置過程

    手把手教你SpringBoot快速集成Swagger的配置過程

    這篇文章主要介紹了手把手教你SpringBoot快速集成Swagger的配置過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Java?SpringBoot?@Async實現(xiàn)異步任務(wù)的流程分析

    Java?SpringBoot?@Async實現(xiàn)異步任務(wù)的流程分析

    這篇文章主要介紹了Java?SpringBoot?@Async實現(xiàn)異步任務(wù),主要包括@Async?異步任務(wù)-無返回值,@Async?異步任務(wù)-有返回值,@Async?+?自定義線程池的操作代碼,需要的朋友可以參考下
    2022-12-12
  • 在IDEA中實現(xiàn)同時運行2個相同的java程序

    在IDEA中實現(xiàn)同時運行2個相同的java程序

    這篇文章主要介紹了在IDEA中實現(xiàn)同時運行2個相同的java程序,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Spring?Security實現(xiàn)基于RBAC的權(quán)限表達(dá)式動態(tài)訪問控制的操作方法

    Spring?Security實現(xiàn)基于RBAC的權(quán)限表達(dá)式動態(tài)訪問控制的操作方法

    這篇文章主要介紹了Spring?Security實現(xiàn)基于RBAC的權(quán)限表達(dá)式動態(tài)訪問控制,資源權(quán)限表達(dá)式動態(tài)權(quán)限控制在Spring Security也是可以實現(xiàn)的,首先開啟方法級別的注解安全控制,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Mybatis insert方法主鍵回填和自定義操作

    Mybatis insert方法主鍵回填和自定義操作

    這篇文章主要介紹了Mybatis insert方法主鍵回填和自定義操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • SWT(JFace)體驗之FillLayout布局

    SWT(JFace)體驗之FillLayout布局

    FillLayout是非常簡單的一種布局方式,它會以同樣大小對父組件中的子組件進(jìn)行布局,這些子組件將以一行或一列的形式排列。
    2009-06-06
  • Java判斷對象是否為空的四種方法小結(jié)

    Java判斷對象是否為空的四種方法小結(jié)

    這篇文章主要介紹了Java判斷對象是否為空的四種方法,判斷對象是否為空有多種方法,包括使用==或!=運算符直接比較對象與null,使用Objects.isNull()方法,以及用instanceof運算符或Optional類進(jìn)行更安全的空值處理,需要的朋友可以參考下
    2024-10-10

最新評論