Core Idea

Choreography is a decentralized approach to distributed workflow coordination where each service autonomously reacts to events without a central coordinator.

Definition

Choreography is a decentralized approach to distributed workflow coordination where each service autonomously reacts to events without a central coordinator. Unlike Orchestration, decision-making is distributed across participating services communicating through event-driven mechanisms.

Key Characteristics

  • Decentralized control: Each service makes autonomous decisions based on observed events
  • Event-driven: Services publish/subscribe through message brokers (Kafka, RabbitMQ, AWS SNS/SQS)
  • Loose coupling: Services only know about events, not other services’ internals
  • No single point of failure: Eliminates orchestrator as bottleneck
  • Autonomous scaling: Each service scales independently
  • Local context: Services operate within their Bounded-Context
  • Eventual consistency: Workflows progress asynchronously; state distributed across participants

Example

E-commerce order flow: Order Service publishes OrderCreated; Payment Service publishes PaymentCompleted; Inventory Service publishes InventoryReserved; Shipping Service schedules delivery—no central coordinator.

Why It Matters

Choreography eliminates centralized control bottlenecks, enabling services to evolve independently and continue operating despite peer failures—aligning with loose coupling and bounded context principles.

Trade-offs: increased complexity in understanding end-to-end workflows and debugging distributed traces. Best for high-Scalability, high-resilience workflows with infrequent or simple error scenarios.

Sources

Note

This content was drafted with assistance from AI tools for research, organization, and initial content generation. All final content has been reviewed, fact-checked, and edited by the author to ensure accuracy and alignment with the author’s intentions and perspective.