The document describes how BankNext's event-driven architecture led to data integrity issues when microservices failed. It implemented a SAGA (Split Application Graph Architecture) pattern to enable compensation actions that restore data consistency. When a microservice fails, it publishes a failure message to a Kafka topic. Other microservices subscribe to these topics to trigger rollbacks of previously committed data, restoring the system to its prior state. This allows the overall transaction to be atomic even when individual microservices fail. The new architecture enhances robustness through self-healing but adds complexity around coordination, debugging, and potential failures during compensation.