Handling Rollbacks with Separated Response Control Service for Microservice Architecture

Working with large scale microservice based applications may be hard to maintain and control. The services in those applications must be isolated from each other and they must work in harmony. There must be an intelligent transaction management system to implement this kind of collaborative work of microservices. There are two main methodologies for transaction management, namely Two Phase Commit (2PC) and Saga pattern. There are two phases in 2PC that prepare phase and commit phase. In Saga pattern, there are two ways of implementing Saga pattern; choreography based, and orchestration based. When there is a problem in the whole transaction, controlling the rollback scenario may be hard because each microservice has its own rollout and rollback solutions in both ways of Saga pattern. If we separate the rollback system from the microservices, we might have simpler microservices and microservices that can run in parallel. So whole system works safer and faster. In this work we focus on parallel execution of microservices with separate rollback system that controls the whole application in error condition.