This chapter covers
- The service side of an interaction between two microservices
- Circuit breakers
- API gateways
- Sidecars and service mesh
I began talking about interactions between services in chapter 8, with a focus on dynamic routing and service discovery; I was talking about how clients can find and access a service they depend on. After the client finds and addresses the needed service, it initiates an interaction. The previous chapter and this one come together to consider both sides of that interaction—as shown in figure 10.1. In chapter 9, I talked about the resilience of this interaction; I was largely talking about request redundancy, something the client is responsible for and applies controls to. Now I want to turn to the service side of that client/service interaction and the essential design patterns that play a role here.