Q: Why Saga over 2-phase commit?
A: Avoids distributed locks, better availability, services don't block each other
Q: Orchestration vs Choreography?
A: Orchestration = central coordinator (easier to debug), Choreography = each service reacts to events (more decoupled)
Q: How do you handle failures?
A: Compensating transactions - undo previous steps in reverse order
Q: What if compensation fails?
A: Retry mechanism, dead letter queue, manual intervention, idempotency ensures safe retries
Q: How to ensure idempotency?
A: Check if orderId already processed before executing, store transaction IDs
Q: Eventual consistency?
A: Yes - saga provides eventual consistency, not immediate consistency like ACID