More on Advantages
Microservice systems are more robust.
When a memory leak exists in a microservice, only this microservice is affected and crashes. The other microservices keep running. Of course, they have to compensate for the failure of the crashed microservice; this is called resilience.
To achieve resilience, microservices can cache values and use them in case of a problem. Alternatively, there might be a fallback to a simplified algorithm.
Without resilience, the availability of a microservice system might be a problem. It is likely that a microservice will fail for any reason.
- For example, due to the distribution into several processes, many more servers are involved in the system. Each of these servers can potentially fail.
- Communication between microservices occurs via the network, which can also fail. Therefore, microservices need to implement resilience to achieve robustness.