<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Feign Client的超時時間

      Spring Cloud微服務架構中,大部分公司都是利用Open Feign進行服務間的調用,而比較簡單的業務使用默認配置是不會有多大問題的,但是如果是業務比較復雜,服務要進行比較繁雜的業務計算,那后臺很有可能會出現Read Timeout這個異常,因此定制化配置超時時間就有必要了。

      Feign Client Configuration

      # 默認開啟
      feign.httpclient.enabled=false
      # 默認關閉
      feign.okhttp.enabled=true
      # 默認關閉
      feign.hystrix.enabled=false
      # 默認關閉
      feign.sentinel.enabled=true
      
      # default context 連接超時時間
      feign.client.config.default.connectTimeout = 5000
      # default context 讀超時時間
      feign.client.config.default.readTimeout = 10000
      
      # 設置重試處理器,默認直接拋出異常
      # feign.client.config.default.retryer = Class<Retryer>
      # 設置日志級別,默認NONE
      # feign.client.config.default.loggerLevel = FULL
      

      Hystrix Configuration

      # 全局設置超時:
      hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 30000
      

      hystrix在ribbon的外層處理。

      Ribbon Configuration

      # 連接超時時間,默認為1秒,該值會被FeignClient配置connectTimeout覆蓋
      ribbon.ConnectTimeout=5000
      # 讀超時時間,默認為1秒,該值會被FeignClient配置readTimeout覆蓋
      ribbon.ReadTimeout=5000
      # 最大重試次數
      ribbon.MaxAutoRetries=1
      

      當Ribbon調用接口發送連接異?;蛘叱瑫r異常時會觸發Ribbon 的重試機制。

      OkHttp Client Configuration

      所設置的連接時間和超時時間最后會動態設置到OkHttpClient中,最底層也就是Socket的連接時間和讀超時時間。也就是說,直接配置OkHttpClient是無效的。

      解決方案:添加OkHttp Client的請求Interceptor,動態設置超時時間。

      @Bean("okHttpClient")
      public OkHttpClient okHttpClient(ConnectionPool connectionPool) {
      	return new OkHttpClient().newBuilder().connectionPool(connectionPool)
                   // 改值在FeignClient體系中會被動態覆蓋
      			.connectTimeout(6, TimeUnit.SECONDS)
                   // 改值在FeignClient體系中會被動態覆蓋
      			.readTimeout(VmcConstants.TEN_SECONDS, TimeUnit.SECONDS)
                   // 添加攔截器,支持動態設置超時時間
      			.addInterceptor(new OkHttpClientDynamicTimeoutInterceptor())
                  .eventListener(eventListener())
      			.build();
      }
      

      總結

      1.如何配置好HystrixRibbon的超時時間呢?

      其實是有套路的,因為Feign的請求:其實是Hystrix+RibbonHystrix在最外層,然后再到Ribbon,最后里面的是http請求。所以說。Hystrix的熔斷時間必須大于Ribbon的 ( ConnectTimeout + ReadTimeout )。而如果Ribbon開啟了重試機制,還需要乘以對應的重試次數,保證在Ribbon里的請求還沒結束時,Hystrix的熔斷時間不會超時。

      參考資料

      【1】Spring Cloud Openfeign

      【2】Feign的各種超時時間

      posted @ 2020-06-02 18:44  kancy  閱讀(28958)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 中文字幕亚洲国产精品| 国产99青青成人A在线| 国产精品美腿一区在线看| 综合偷自拍亚洲乱中文字幕| 国产精品1区2区3区在线观看 | 视频免费完整版在线播放| 国产不卡一区二区在线视频 | 亚洲成aⅴ人片久青草影院| 国产成人亚洲综合图区| 激情六月丁香婷婷四房播| 欧美韩中文精品有码视频在线| 欧美老熟妇又粗又大| 免费看成人欧美片爱潮app| 九九热久久只有精品2| 欧美高清狂热视频60一70| 日本高清一区二区三| 四虎永久在线精品8848a| 亚洲另类激情专区小说图片| 波多野结衣免费一区视频| 日韩精品国产另类专区| 国内自拍偷拍一区二区三区| 四虎永久在线精品无码视频| 偷拍专区一区二区三区| 亚洲国产精品毛片av不卡在线| 爽爽精品dvd蜜桃成熟时电影院| 澎湖县| 国产精品一区二区在线欢| 国产一区二区在线有码| 人妻中出无码一区二区三区| 亚洲精品无码在线观看| 成人深夜节目在线观看| 婷婷综合亚洲| 少妇被多人c夜夜爽爽av| 国产一区二区不卡视频在线| 起碰免费公开97在线视频| 国产在线精品福利91香蕉| 少妇精品亚洲一区二区成人| 国产一区二区三区黄色片| 国产精品香港三级国产av| 高清国产亚洲精品自在久久| 蜜桃av无码免费看永久|