How do you handle distributed transactions and maintain eventual consistency across multiple microservices at NDA?