1. 程式人生 > >解決Spring Cloud Dashboard Thread pools 一直處於Loading狀態

解決Spring Cloud Dashboard Thread pools 一直處於Loading狀態

Hystrix 隔離策略配置

當使用hystrix-dashboard來監控Spring Cloud Zuul構建的API閘道器時,Thread Pool資訊會一直處於Loading狀態。這是Hystrix 隔離策略的原因,只有通過Hystrix配置把隔離策略改成為執行緒池的方式才能夠得以展示。

Hystrix 隔離策略
SEMAPHORE - 它在呼叫執行緒上執行,併發請求受訊號量計數的限制(Zuul預設此策略)
THREAD - 它在一個單獨的執行緒上執行,併發請求受到執行緒池中執行緒數的限制

當 zuul.ribbonIsolationStrategy=THREAD時,Hystrix的執行緒隔離策略將會作用於所有路由。這意味著所有路由的HystrixCommand都會在相同的Hystrix執行緒池中執行,可以使用useSeparateThreadPools = true 設定每個路由使用獨立的執行緒池。

zuul: 
  ribbonIsolationStrategy: THREAD #設定Hystrix隔離策略為執行緒池
  threadPool:
    useSeparateThreadPools: true #每個路由使用獨立的執行緒池