Bird
0
0

Why is it important to design compensating transactions in a Saga pattern to be idempotent when using Kafka?

hard📝 Conceptual Q10 of 15
Kafka - Event-Driven Architecture
Why is it important to design compensating transactions in a Saga pattern to be idempotent when using Kafka?
ABecause Kafka guarantees exactly-once delivery, idempotency is optional.
BBecause idempotency improves Kafka topic retention time.
CBecause idempotency allows skipping compensation steps safely.
DBecause Kafka may deliver messages more than once, idempotency prevents duplicate side effects.
Step-by-Step Solution
Solution:
  1. Step 1: Kafka delivery semantics

    Kafka can deliver messages multiple times due to retries or failures.
  2. Step 2: Importance of idempotent compensations

    Idempotent compensations ensure repeated events do not cause repeated side effects, preserving correctness.
  3. Final Answer:

    Because Kafka may deliver messages more than once, idempotency prevents duplicate side effects. -> Option D
  4. Quick Check:

    Idempotent compensations = handle duplicate Kafka messages safely [OK]
Quick Trick: Make compensations idempotent to handle retries safely [OK]
Common Mistakes:
  • Assuming Kafka guarantees exactly-once delivery
  • Thinking idempotency affects retention time
  • Believing idempotency allows skipping compensations

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Kafka Quizzes