1. 雪崩效应 (AB)——>C——>D :表示当D微服务错误关闭时,C的请求会发生错误,直到C也错误关闭,AB相继错误关闭
2. 实现容错的方案
2.1. 为请求设置超时
通过网络请求其他服务时,都必须设置超时。正常情况下,一个远程调用一般在几十毫秒内就能得到响应了。如果依赖的服务不可用,或者网络有问题,响应时间将会变得很长(几十秒)。
通常情况下,一次远程调用对应着一个线程/进程。如果响应太慢,这个线程/进程就得不到释放。而线程/进程又对应着系统资源,如果得不到释放的线程/进程越积越多,服务资源就会被耗尽,从而导致服务不可用。
因此,必须为每个请求设置超时,让资源尽快地得到释放.
2.2. 使用断路器
当依赖的服务有大量请求超时时,再让新的请求去访问已经没有太大意义,只会无谓的消耗现有资源。譬如我们设置了超时时间为1秒,如果短时间内有大量的请求(譬如50个)在1秒内都得不到响应,就往往意味着异常。
此