中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

SpringCloud各組件超時總結(jié)

Ribbon的超時 全局設(shè)置:

ribbon: ReadTimeout:60000 ConnectTimeout:60000 1 2 3 局部設(shè)置:

創(chuàng)新互聯(lián)專注于阿里地區(qū)網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供阿里地區(qū)營銷型網(wǎng)站建設(shè),阿里地區(qū)網(wǎng)站制作、阿里地區(qū)網(wǎng)頁設(shè)計、阿里地區(qū)網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造阿里地區(qū)網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供阿里地區(qū)網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

service-id: ribbon: ReadTimeout:1000 ConnectTimeout:1000 1 2 3 4

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

Feign的超時

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

feign: client:config: feignName: connectTimeout:5000 readTimeout:5000 1 2 3 4 5

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

RestTemplate的超時

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

@Bean @LoadBalanced publicRestTemplaterestTemplate() { returnnewRestTemplate(); } 1 2 3 4 5 6

此時,超時可使用如下方式設(shè)置:

@Bean @LoadBalanced publicRestTemplaterestTemplate() { SimpleClientHttpRequestFactorysimpleClientHttpRequestFactory=newSimpleClientHttpRequestFactory(); simpleClientHttpRequestFactory.setConnectTimeout(1000); simpleClientHttpRequestFactory.setReadTimeout(1000); returnnewRestTemplate(simpleClientHttpRequestFactory); } 1 2 3 4 5 6 7 8 9 Zuul的超時

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

如果Zuul的路由使用了Ribbon
那么:Zuul的超時則與Ribbon、Hystrix相關(guān),此時Zuul的超時可以配置類似如下:

hystrix: command: default: execution: isolation: thread: timeoutInMilliseconds:1000 ribbon: ReadTimeout:1000 ConnectTimeout:1000 1 2 3 4 5 6 7 8 9 10

代碼解析:此種情況下,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對應(yīng)的路徑。 1 2 3 4 5

那么,此時Zuul的超時只與如下兩個配置有關(guān):

zuul: host: socket-timeout-millis:10000 connect-timeout-millis:2000 1 2 3 4 5

代碼解析:直接配置URL路由的方式,用不上Ribbon,也用不上Hystrix,Zuul轉(zhuǎn)發(fā)所使用的過濾器是org.springframework.cloud.netflix.zuul.filters.route.SimpleHostRoutingFilter,在這個過濾器中,Zuul使用ApacheHttpClient進行轉(zhuǎn)發(fā)。
在現(xiàn)實場景中,有時候可能兩種路由方式配合使用,因此,建議大家配置以上所有屬性。

Hystrix的超時

hystrix: command: default: execution: timeout: enabled:true isolation: thread: timeoutInMilliseconds:1000 1 2 3 4 5 6 7 8 9 10

如上,Hystrix的默認(rèn)超時時間是1秒。默認(rèn)開啟超時機制。如需關(guān)閉Hystrix的超時,可將xxx.enabled設(shè)置為false。

Tips

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

分享標(biāo)題:SpringCloud各組件超時總結(jié)
鏈接分享:http://www.rwnh.cn/article46/cpoehg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、虛擬主機面包屑導(dǎo)航、網(wǎng)站建設(shè)App開發(fā)、網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司
彝良县| 托克托县| 屏南县| 临泽县| 涞水县| 开化县| 永年县| 阳山县| 屯门区| 巴青县| 东明县| 镇沅| 遂平县| 蒲城县| 金寨县| 邵阳县| 孙吴县| 莲花县| 右玉县| 古浪县| 乐安县| 北流市| 莱州市| 江永县| 彰武县| 中西区| 荆州市| 安吉县| 延寿县| 德惠市| 巴彦县| 遵义县| 翁源县| 宾川县| 正镶白旗| 临潭县| 永年县| 肥城市| 罗源县| 赣榆县| 隆安县|