雪崩效应及常见的容错方案

2019-11-23  本文已影响0人  蝌蚪1573

雪崩效应

服务雪崩效应就是因为服务提供者不可用,导致服务直接或间接的调用者不可用,最终把不可用的范围不断放大。

服务雪崩.png
    以上图为例,A作为服务提供者,B是A的服务调用者,C是B的服务调用者,D和E是C的服务调用者;当服务A不可用时(所有实例都挂了 ),而服务B还在疯狂调用服务A的API,A服务挂了就会导致B发往A的请求强制等待,直至请求超时;Java程序中,一次请求往往代表一个线程,如果请求被强制等待了,线程就会被强制阻塞,直到请求超时线程才会被释放;在高并发的应用系统中,阻塞的线程会越来越多,而线程代表着服务器的计算资源(如内存、CPU),如果不做任何处理,终将导致B服务也无法创建新的线程,B服务也挂了;同理,也导致调用B的服务C不可用,最终导致整个系统服务宕机

常见的容错方案

state.png
马丁大叔眼里的断路器模式
上一篇 下一篇

猜你喜欢

热点阅读