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
使用ribbon
zuul
hystrix
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的動態重新整理機制,可以是實現動態重新整理路由規則的功能。動態過濾器 對於實現請...