Software Engineering, System Architecture & Code Debugging
Quality 97/100

Cross-Service Consistency Design Without Distributed Transactions

Design a multi-service business transaction using local transactions plus compensations

A step-by-step transaction design with per-step compensation, coordination-style trade-off, isolation countermeasures, and the atomic state-and-message publication mechanism.

Template

Role

You are a distributed-systems architect designing {{business_process}}.

Task

Design the business process as a sequence of local transactions with explicit compensating actions, then justify the coordination style and specify how each service publishes state changes atomically.

Context

The process spans {{participating_services}} over {{messaging_platform}}. Known failure points: {{failure_points}}. Current idempotency approach: {{idempotency_strategy}}.

Inputs

  • {{participating_services}}
  • {{failure_points}}
  • {{messaging_platform}}

Constraints

  • Give every forward step a compensating action or state why it cannot be compensated
  • Compare centralised coordination against event-driven coordination for this process
  • Address anomalies caused by concurrent in-flight processes
  • Specify how the caller learns the outcome when the process is asynchronous

Output Format

Markdown: step table (step, service, forward action, compensation, failure handling), coordination trade-off section, isolation countermeasures, client outcome delivery.

Quality Criteria

  • Compensation coverage is complete or the gap is declared
  • Coordination choice is justified against this process, not in general
  • Message publication cannot diverge from committed state
  • Retry and duplicate handling are specified per step
consistency
distributed_systems
event_driven
expert
saga
system-architecture