Spring cloud 之 斷路器

2021-10-06 03:01:22 字數 595 閱讀 6981

在微服務架構中,根據業務來拆分成乙個個的服務,服務與服務之間可以通過rpc介面的形式相互呼叫。 為了保證服務高可用,單個服務通常會集群部署。 由於網路或者自身原因,服務不能保證100%可用,如果單個服務出現問題,呼叫這個服務就會出現執行緒阻塞,如果此時湧入大量的請求,servlet容器中的執行緒資源就會被消耗完畢,導致伺服器癱瘓。 服務與服務之間的依賴性,導致故障會傳播,對整個微服務系統造成災難性後果,這就是伺服器「雪崩」。

斷路器的出現,就是為了解決這個問題。

spring cloud中使用hystrix實現斷路器模式:

在微服務框架中,乙個請求呼叫多個服務是很常見的,比如(crm系統的業績歸屬功能就需要呼叫分別呼叫cpp,tcbm,oc2等多個系統的服務)如果較底層服務如果出現了故障,就會導致連鎖故障。當乙個特定的服務呼叫的不可用的次數達到乙個閥值斷路器將會被開啟。斷路器開啟後,可以避免連鎖故障。

斷路器模式也是應用程式能夠檢測故障是否已經解決,如果問題似乎已經得到了糾正,應用程式可以嘗試呼叫操作。

斷路器增加了穩定性和靈活性,儘量減少故障對效能的影響,他可以幫助快速拒絕乙個請求,而不是等到請求超時或者無返回,以保持應用響應的速度。

參考文章

學習SpringCloud之斷路器Hystrix

以下示例均基於springcloud的greenwich.sr1版本。org.springframework.cloudgroupid spring cloud starter netflix hystrixartifactid dependency dependencies 以 enablehys...

springcloud斷路器的作用

當乙個服務呼叫另乙個服務由於網路原因或者自身原因出現問題時 呼叫者就會等待被呼叫者的響應 當更多的服務請求到這些資源時 導致更多的請求等待 這樣就會發生連鎖效應 雪崩效應 斷路器就是解決這一問題 斷路器有完全開啟狀態 一定時間內 達到一定的次數無法呼叫 並且多次檢測沒有恢復的跡象 斷路器完全開啟,那...

微服務之Hystrix斷路器

hystrix是乙個用於處理分布式系統的延遲和容錯的開源庫,在分布式系統裡,許多依賴不可避免的會呼叫失敗,比如超時 異常等,hystrix能夠保證在乙個依賴出問題的情況下,不會導致整體服務失敗,避免級聯故障,以提高分 布式系統的彈性。斷路器 本身是一種開關裝置,當某個服務單元發生故障之後,通過斷路器...