假設存在如下調用鏈
而此時,
Service A
的流量波動很大,流量經常會突然性增加!那么在這種情況下,就算Service A
能扛得住請求,Service B
和Service C
未必能扛得住這突發的請求。
此時,如果Service C
因為抗不住請求,變得不可用。那么Service B
的請求也會阻塞,慢慢耗盡Service B
的線程資源,Service B
就會變得不可用。緊接著,Service A
也會不可用,這一過程如下圖所示
如上圖所示,一個服務失敗,導致整條鏈路的服務都失敗的情形,我們稱之為服務雪崩