熔斷和限流還不太一樣,限流是控制請求速率,只要還能承受,那麼都會處理,但熔斷不是。在一條調用鏈上,如果發現某個服務異常,比如響應超時。那麼調用者爲了避免過多請求導致資源消耗過大,最終引發系統雪崩,會直接返回錯誤,而不是瘋狂調用這個服務。本篇文章會介紹主流熔斷器的工作原理,並且會藉助 go-zero 源碼,分析 googleBreaker 是如何通過滑動窗口來統計流量,並且最終執行熔斷的。工作原理- ⌘ Read more
熔斷和限流還不太一樣,限流是控制請求速率,只要還能承受,那麼都會處理,但熔斷不是。在一條調用鏈上,如果發現某個服務異常,比如響應超時。那麼調用者爲了避免過多請求導致資源消耗過大,最終引發系統雪崩,會直接返回錯誤,而不是瘋狂調用這個服務。本篇文章會介紹主流熔斷器的工作原理,並且會藉助 go-zero 源碼,分析 googleBreaker 是如何通過滑動窗口來統計流量,並且最終執行熔斷的。工作原理- ⌘ Read more