上個章節已經基於 openfeign 完成了微服務間的呼叫,並且在多例項集群的情況下,通過調整負載策略很好應對併發呼叫。網路產品開發時,網路有時可能是不可用的,服務亦有可能是不可用的,當呼叫服務響應慢或不可用時,大量的請求積壓,會成為壓倒系統駱駝的最後一根稻草。這種情況下,我們如何應對呢?本章節就帶你走近 hystrix 元件。
它是分布式系統提供的乙個低時延容錯機制的基礎元件,提供限流、服務降級、系統熔斷保護、快速失敗等多個維度來保障微服務的穩定性。hystrix 也是 netflix 套件的一部分。
遺憾的是 1.5.18 版本之後進入了維護模式,官方提供了替代方案:resilience4j,本測試採用的 hystrix 終極版,需要更高版本的話,建議還是採用 resilience4j ,這裡不作過多介紹,後續將替換成另乙個重要元件——sentinel 來替代 hystrix。
採用 starter 的方式引入
排查服務不可用 或者 慢
反應慢一般定位順序 1.首先排查網路.服務端和客戶端直接的網路是否有延遲 2.f12檢視返回介面時長,找到反應最慢介面 服務端排查 a.介面服務調調其他介面流程是否延遲.如果是繼續排查返回慢介面 b.介面服務連線資料庫取資料是否延遲 如果是檢查資料庫 3.虛機或者容器 本身io讀寫受限制 磁碟資料盤...
資料庫死鎖和慢日誌問題導致服務不可用的排查過程
資料庫執行更新失敗,檢視日誌 首先是根據報的exception進行排查 org.hibernate.exception.lockacquisitionexception could not execute statement 很明顯,是資料庫死鎖,導致不能執行我的更新sql。檢視程序 查詢是否鎖表 ...
DNS伺服器未響應怎麼辦,如何解決?
4 如果提示成功,則表明路由器連線正常,不需要重啟或者設定,進入第 4 步。如果不成功,則需要設定路由器,具體設定請搜尋路由器設定引導,記得要選中dhcp。當然最簡單的方法是重啟路由,這樣一般的問題都會解決。3 1 如果問題還沒有解決,那你重啟一下電腦,或者試試別人的電腦。如果還不行的話,並且你又不...