Resilient microservices
We touched on microservices briefly in the previous chapter, but we'll just go through a quick summary again here to remind ourselves. Microservices is an architecture style in which large, complex software applications are composed of one or more smaller services. Each of the services are called microservices and deploy independently of one another, without us needing to know the implementation behind the other microservices. Each service works as a single business function that is loosely coupled, small, focused, language-neutral, and has a bounded context.
Resilient microservices can be defined as having the ability to recover back to a working state after a failure or outage. Resilience is one of the main advantages of microservices. Unlike monolith systems, where if something breaks, it will damage the whole application, in microservices, it will only impact that particular functionality, and other services in the application will run as usual.