微服務架構(八): 斷路器

工作中使用了微服務架構,接下來的一段時間裏,我會寫一系列的文章來介紹微服務架構,同時我也會在github上寫一個microservices的應用框架(地址會在後續文章給出)。

這篇文章主要講述了微服務架構中的斷路器。

翻譯和整理自:

  • http://microservices.io/patterns/reliability/circuit-breaker.html

一、上下文


你採用了微服務架構,services在處理請求時有時候需要共同合作。當一個服務同步調用另一個時,有可能另一個服務不可用,或者有很大的延遲,幾乎不可用。在等待另一個服務響應的時候,先前的資源,比如線程等也許在這個服務中被消耗了,這可能會導致資源耗盡,使得這個服務不能處理別的請求。 一個服務的失敗可能會傳導到別的服務中。


二、問題


怎麼阻止一個service的失敗傳遞到別的service中?

三、解決方案


當失敗的請求達到一個閾值,斷路器生效,在一段時間內,所有嘗試調用這個service的請求都會立即失敗。在時間窗口過期後,斷路器允許一小部分請求過去,service是否已經恢復正常。







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章