zuul閘道器配置請求併發以及重試

2021-08-29 18:04:45 字數 1790 閱讀 1625

zuul預設整合hystrix, 同時,和hystrix一樣採用執行緒隔離技術

zuul預設使用:訊號量(semaphore)

hystrix預設使用:執行緒池 (thread)屬性值

描述zuul.ribbon-isolation-strategy

semaphore

配置隔離策略為訊號量

zuul.semaphore.max-semaphores

1000

配置訊號量大小

hystrix.command.default.execution.isolation.strategy

semaphore

配置斷路器中的隔離策略為訊號量

hystrix.command.default.execution.isolation.semaphore.maxconcurrentrequests

1000

配置斷路器中的訊號量大小

沒有測試過,只配置zuul是否生效, 或者2個配置不同,哪乙個配置生效

重試

1.5.6

使用ribbonzuulhystrix

org.springframework.retrygroupid>

spring-retryartifactid>

dependency>

參考loadbalancerautoconfiguration以及ribbonautoconfiguration

實現原理:retryloadbalancerinterceptor實現clienthttprequestinterceptor通過***實現屬性值

描述預設值

spring.cloud.loadbalancer.retry.enabled

ture

開啟重試機制

true

zuul.retryable

true

如果使用zuul,需要配置該屬性

false

hystrix.command.default.execution.isolation.thread.timeoutinmilliseconds

8000

如果使用ribbon和hystrix,設定超時時間

1000

ribbon.oktoretryonalloperations

true

是否所有的操作都重試

false

ribbon.maxautoretriesnextserver

2重試負載均衡其他例項的最大重試次數,不包括首次例項

0ribbon.maxautoretries

0同一臺例項的最大重試次數,不包括首次呼叫

0ribbon.connecttimeout

1000

http建立socket超時時間

ribbon.readtimeout

3000

http讀取響應socket超時時間

注意:

-ribbon.connecttimeout+ribbon.readtimeout<hystrix.command.default.execution.isolation.thread.timeoutinmilliseconds

- 連線失敗的意思是服務宕機,請求不可到達, 並不是服務報錯

zuul閘道器配置

靜態路由 通過url匹配對映位址進行靜態路由 只會把到達zuul閘道器的請求按照傳送,並把匹配請求位址 common service http localhost 9001 zuul routes traditional url 傳統的路由配置,此名稱可以自定義 path common servic...

Zuul閘道器無法路由請求

最近在做的乙個需求,需要對外部訪問微服務的介面進行token鑑權,想來想去還是用閘道器合適。因為公司原來有用的zuul閘道器但是沒有上線,所以這次我就想把原來的閘道器服務整合進去。以前只看過zuul的一些資料並沒有動手實戰過,所以實戰中還是踩了些坑,浪費了很多時間和精力,這就是只看不動手的壞處啊!以...

服務閘道器zuul之四 zuul閘道器配置

禁用過濾器 在zuul中特別提供了乙個引數來禁用指定的過濾器,該引數的配置格式如下 zuul.accessfilter.pre.disable true 動態載入 動態路由 通過結合spring cloud config的動態重新整理機制,可以是實現動態重新整理路由規則的功能。動態過濾器 對於實現請...