Service fusing and degradation

What is a service circuit breaker?

The concept of fusing comes from the circuit breaker in electronic engineering. In the Internet system, when downstream services respond slowly or fail due to excessive access pressure, upstream services can temporarily cut off calls to downstream services in order to protect the overall availability of the system.

This measure of sacrificing parts and preserving the whole is called fusing.

 

If we don't take fusing measures, what will happen to our system? Let's look at a chestnut.

There are three services A, B, and C in the current system. Service A is upstream, service B is midstream, and service C is downstream. Their call chain is as follows:

![image-20190303111702580](/Users/luolan/08-mybook/image-20190303111702580.png)

Once downstream service C becomes unavailable for some reason, a large number of requests are accumulated, and the request thread of service B is also blocked. Thread resources are gradually exhausted, making service B unavailable. Immediately afterwards, service A also became unavailable, and the entire call link was dragged down.

 

The cascading failure of this kind of call link is called an avalanche.

 

As the saying goes

Guess you like

Origin blog.csdn.net/luolan_hust/article/details/113723867