Complete the code to identify the coordinator's first step in two-phase commit.
The coordinator sends a [1] request to all participants to prepare for commit.
The coordinator first sends a prepare request to ask participants if they can commit.
Complete the code to describe what participants send back after prepare.
Participants respond with a [1] message indicating if they can commit or not.
Participants send a vote message: 'yes' if ready, 'no' if not.
Fix the error in the statement about two-phase commit's blocking problem.
If the coordinator crashes after sending commit, participants may [1] indefinitely waiting for the final decision.
Participants block waiting for the coordinator's decision, causing delays.
Fill both blanks to describe why two-phase commit is often avoided in microservices.
Two-phase commit is avoided because it [1] system availability and [2] complexity in distributed systems.
Two-phase commit reduces availability and increases complexity, making it less suitable for microservices.
Fill all three blanks to complete the alternative approach to two-phase commit.
Instead of two-phase commit, microservices often use [1] which relies on [2] and [3] to maintain data consistency.
Microservices use sagas with asynchronous messaging to achieve eventual consistency instead of two-phase commit.