天天看點

高可用服務架構設計(17) - 基于Hystrix的高可用分布式系統架構設計的總結

已經學到的東西

hystrix的核心知識

1、hystrix内部工作原理:8大執行步驟和流程

2、資源隔離:你如果有很多個依賴服務,高可用性,先做資源隔離,任何一個依賴服務的故障不會導緻你的服務的資源耗盡,不會崩潰

3、請求緩存:對于一個request context内的多個相同command,使用request cache,提升性能

4、熔斷:基于短路器,采集各種異常事件,報錯,逾時,reject,短路,熔斷,一定時間範圍内就不允許通路了,直接降級,自動恢複的機制

5、降級:報錯,逾時,reject,熔斷,降級,服務提供容錯的機制

6、限流:在你的服務裡面,通過線程池,或者信号量,限制對某個後端的服務或資源的通路量,避免從你的服務這裡過去太多的流量,打死某個資源

7、逾時:避免某個依賴服務性能過差,導緻大量的線程hang住去調用那個服務,會導緻你的服務本身性能也比較差

學會了這些東西以後,我們特意設定了大電商背景,商品詳情頁系統,緩存服務的業務場景,盡量的去結合一些仿真的業務,去學習hystrix的各項技術

這個東西做起來沒那麼容易,盡量做了,學習效果更好一些,興趣也會更好一些

已經可以快速利用hystrix給自己開發的服務增加各種高可用的保障措施了,避免你的系統因為各種各樣的異常情況導緻崩潰,不可用

hystrix的高階知識

1、request collapser,請求合并技術

2、fail-fast和fail-slient,高階容錯模式

3、static fallback和stubbed fallback,高階降級模式

4、嵌套command實作的發送網絡請求的降級模式

5、基于facade command的多級降級模式

6、request cache的手動清理

7、生産環境中的線程池大小以及timeout配置優化經驗

8、線程池的自動化動态擴容與縮容技術

9、hystrix的metric高階配置

10、基于hystrix dashboard的可視化分布式系統監控

11、生産環境中的hystrix工程運維經驗