Chapter 13. Dealing with Service Failures
One of the vulnerabilities in building a large microservice-based application is dealing with service failures. The more services you have, the greater the likelihood of a service failing, and the larger number of other services that are dependent on the failed service.
Cascading Service Failures
Consider a service that you own. It has several dependencies, and several services depend on it. FigureÂ 13-1 illustrates the service âOur Serviceâ with multiple dependencies (Service A, Service B, and Service C) and several services that depend on it (Consumer 1 and Consumer 2).
What happens if one of our dependencies fails? FigureÂ 13-2 shows Service A failing.
Unless you are careful, this can cause âOur Serviceâ to fail, and that failure can cause Consumer 1 and Consumer 2 to fail. The error can cascade, as shown in FigureÂ 13-3.
A single service in your system can, if unchecked, cause serious problems to your entire application.
What can you do to prevent cascading failures from occurring? ...
Get Architecting for Scale now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.