線程隔離有兩種實現方式:
1.線程池隔離
優點:
1.支持主動超時,線程池中的線程都是可控的,可以停掉某個線程。
2.支持異步調用,每個請求都是一個獨立的線程,線程之間不受影響。
缺點:
線程的額外開銷比較大
適用場景:
低扇出(一個微服務,不會依賴很多微服務),如果依賴的微服務比較多,那么開啟的線程也就多,額外開銷的資源也就大。
2.信號量隔離(sentinel默認采用)
優點:
輕量級,無額外開銷。
缺陷:
不支持主動超時,只是一個計數器而已。也不支持異步調用。
使用場景:
高頻調用,高扇出。一個微服務依賴了很多微服務。比如:網關微服務,會路由到所有的其他微服務。
表示給feign的接口設置流控規則,線程數不超過2,