This question evaluates a candidate's understanding of distributed transactions, coordination protocols, fault tolerance, consistency, and reliability across microservices and databases.
You must design a distributed transactions protocol to coordinate updates across multiple services or databases in a microservices environment. The network is unreliable (messages can be delayed, duplicated, or lost), services can crash and recover, and latency and availability matter.
Assume services communicate over RPC and/or a message bus. Some services may support a "prepare/commit" primitive; others may not.
Login required