亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring Cloud中各組件超時總結

 更新時間:2017年11月29日 10:58:50   作者:周立_itmuch  
在大家學習spring cloud的時候組件是必不可少的一部分,下面這篇文章主要給大家介紹了關于Spring Cloud中各組件超時的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

Spring Cloud是基于Spring Boot的一整套實現(xiàn)微服務的框架。他提供了微服務開發(fā)所需的配置管理、服務發(fā)現(xiàn)、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分布式會話和集群狀態(tài)管理等組件。最重要的是,跟spring boot框架一起使用的話,會讓你開發(fā)微服務架構的云服務非常好的方便。 Spring Cloud包含了非常多的子框架,其中,Spring Cloud Netflix是其中一套框架,由Netflix開發(fā)后來又并入Spring Cloud大家庭,它主要提供的模塊包括:服務發(fā)現(xiàn)、斷路器和監(jiān)控、智能路由、客戶端負載均衡等。

本文將給大家介紹Spring Cloud各組件超時的相關內(nèi)容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

Ribbon的超時

全局設置:

ribbon:
ReadTimeout: 60000
ConnectTimeout: 60000

局部設置:

service-id:
ribbon:
ReadTimeout: 1000
ConnectTimeout: 1000

其中,service-id 是Ribbon所使用的虛擬主機名,一般和Eureka Server上注冊的服務名稱一致,即:與spring.application.name 一致。

Feign的超時

從Spring Cloud Edgware開始,F(xiàn)eign支持使用屬性配置超時:

feign:
 client:
 config:
  feignName:
  connectTimeout: 5000
  readTimeout: 5000

對于老版本,可以寫個feign.Request.Options ,參考:org.springframework.cloud.netflix.feign.ribbon.FeignRibbonClientAutoConfiguration#feignRequestOptions 的寫法即可。

RestTemplate的超時

一些時,我們可能使用了RestTemplate,例如

@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}

此時,超時可使用如下方式設置:

@Bean
@LoadBalanced
public RestTemplate restTemplate() {
SimpleClientHttpRequestFactory simpleClientHttpRequestFactory = new SimpleClientHttpRequestFactory();
simpleClientHttpRequestFactory.setConnectTimeout(1000);
simpleClientHttpRequestFactory.setReadTimeout(1000);
return new RestTemplate(simpleClientHttpRequestFactory);
}

Zuul的超時

Zuul的超時比較復雜,因為Zuul整合了Ribbon、Hystrix。下面分兩種情況討論:

如果Zuul的路由使用了Ribbon

那么:Zuul的超時則與Ribbon、Hystrix相關,此時Zuul的超時可以配置類似如下:

hystrix:
 command:
 default:
  execution:
  isolation:
   thread:
   timeoutInMilliseconds: 1000
ribbon:
 ReadTimeout: 1000
 ConnectTimeout: 1000

代碼解析:此種情況下,Zuul轉(zhuǎn)發(fā)所使用的過濾器是org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter ,在這個過濾器中,整合了Hystrix以及Ribbon。

如果Zuul的路由未使用Ribbon

例如:Zuul的路由配置如下:

zuul:
 routes:
 user-route:     # 該配置方式中,user-route只是給路由一個名稱,可以任意起名。
  url: http://localhost:8000/ # 指定的url
  path: /user/**    # url對應的路徑。

那么,此時Zuul的超時只與如下兩個配置有關:

zuul:
 host:
 socket-timeout-millis: 10000
 connect-timeout-millis: 2000

代碼解析:直接配置URL路由的方式,用不上Ribbon,也用不上Hystrix,Zuul轉(zhuǎn)發(fā)所使用的過濾器是org.springframework.cloud.netflix.zuul.filters.route.SimpleHostRoutingFilter ,在這個過濾器中,Zuul使用Apache HttpClient進行轉(zhuǎn)發(fā)。

在現(xiàn)實場景中,有時候可能兩種路由方式配合使用,因此,建議大家配置以上所有屬性。

Hystrix的超時

hystrix:
 command:
 default:
  execution:
  timeout:
   enabled: true
  isolation:
   thread:
   timeoutInMilliseconds: 1000

如上,Hystrix的默認超時時間是1秒。默認開啟超時機制。如需關閉Hystrix的超時,可將xxx.enabled設置為false。

Tips

如有組件跟Hystrix配合使用,一般來講,建議Hystrix的超時 > 其他組件的超時,否則將可能導致重試特性失效。

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • springboot項目中mybatis-plus@Mapper注入失敗問題

    springboot項目中mybatis-plus@Mapper注入失敗問題

    這篇文章主要介紹了springboot項目中mybatis-plus@Mapper注入失敗問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 淺談線程的幾種可用狀態(tài)

    淺談線程的幾種可用狀態(tài)

    下面小編就為大家?guī)硪黄獪\談線程的幾種可用狀態(tài)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • java從文件中讀取數(shù)據(jù)的六種方法

    java從文件中讀取數(shù)據(jù)的六種方法

    本文主要介紹了java從文件中讀取數(shù)據(jù)的方法,詳細的介紹了六種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java經(jīng)典面試題最全匯總208道(二)

    Java經(jīng)典面試題最全匯總208道(二)

    這篇文章主要介紹了Java經(jīng)典面試題最全匯總208道(二),本文章內(nèi)容詳細,該模塊分為了六個部分,本次為第二部分,需要的朋友可以參考下<BR>
    2023-01-01
  • 利用idea搭建SSM項目看這一篇就夠了

    利用idea搭建SSM項目看這一篇就夠了

    SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis兩個開源框架整合而成(SpringMVC是Spring中的部分內(nèi)容),常作為數(shù)據(jù)源較簡單的web項目的框架,下面這篇文章主要給大家介紹了關于利用idea搭建SSM項目的相關資料,需要的朋友可以參考下
    2023-05-05
  • SpringBoot實現(xiàn)單文件上傳

    SpringBoot實現(xiàn)單文件上傳

    這篇文章主要為大家詳細介紹了SpringBoot實現(xiàn)單文件上傳,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • zuul轉(zhuǎn)發(fā)后服務取不到請求路徑的解決

    zuul轉(zhuǎn)發(fā)后服務取不到請求路徑的解決

    這篇文章主要介紹了zuul轉(zhuǎn)發(fā)后服務取不到請求路徑的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Spring?IOC容器FactoryBean工廠Bean實例

    Spring?IOC容器FactoryBean工廠Bean實例

    這篇文章主要為大家介紹了Spring?IOC容器FactoryBean工廠Bean實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • 詳解springboot 使用c3p0數(shù)據(jù)庫連接池的方法

    詳解springboot 使用c3p0數(shù)據(jù)庫連接池的方法

    本篇文章主要介紹了springboot 使用c3p0數(shù)據(jù)庫連接池的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • java實現(xiàn)KFC點餐小程序

    java實現(xiàn)KFC點餐小程序

    這篇文章主要為大家詳細介紹了java實現(xiàn)KFC點餐系統(tǒng)小程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01

最新評論