How do you handle distributed transactions across multiple microservices without compromising system reliability?