Sep 25, 2022
The data consistency issue is really the core issue. All the other factors are almost insignificant by comparison. Microservices abandon global transactional consistency in order to scale horizontally. That is the key argument in favor of the microservice pattern. As a result, microservice based systems have a lot more complexity: they need more services to handle all of the failure events, e.g., someone partically completes some actions but then abandons them - leaving data in the databases for those abandoned activities.