Hystrix 是隔離、熔斷以及降級的一個框架。
- Hystrix 的隔離:
Hystrix 會搞很多個小小的線程池,比如訂單服務請求庫存服務是一個線程池,請求倉儲服務是一個線程池,請求積分服務是一個線程池。每個線程池里的線程就僅僅用於請求那個服務。 - Hystrix 的熔斷:
比如在 5 分鍾內請求積分服務直接就返回了,不去走網絡請求。 - Hystrix 的降級:
降級:每次調用積分服務,你就在數據庫里記錄一條消息,說給某某用戶增加了多少積分,因為積分服務掛了,導致沒增加成功!
這樣等積分服務恢復了,你可以根據這些記錄手工加一下積分。這個過程,就是所謂的降級。
服務雪崩效應是一種因“服務提供者”的不可用導致“服務消費者”的不可用,並將不可用逐漸放大的過程。
熔斷只是作用在服務調用端。
Feign中已經依賴了Hystrix,所以在maven配置上不用做任何改動。
參考:http://www.ityouknow.com/springcloud/2017/05/16/springcloud-hystrix.html