Graph
Choreography

🔀Choreography

NEW

Decentralized coordination where services react to events and peer interactions without a central controller.

DESCRIPTION

Choreography describes distributed service interactions coordinated through events and contracts rather than a central orchestrator. It promotes loose coupling, autonomy, and scalability in microservices. Patterns like sagas manage multi-step transactions via event exchanges. BPMN includes choreography diagrams to model participant interactions. Choreography suits high-scale, event-driven systems but demands robust observability and governance.

ALTERNATIVE DEFINITIONS

Wikipedia

Service choreography is the coordination of interactions (messages) between multiple services in a decentralized manner.

Highlights decentralized coordination across services via message interactions.

Source

Camunda

Choreography models the interactions between participants without showing the internal behavior of any one participant and without a centralized controller.

Emphasizes participant interaction modeling and absence of centralized control.

Source

Event-Driven Architecture Microservices Saga Pattern Message Broker Google Cloud Pub-Sub BPMN Domain-Driven Design Asynchronous Communication Service Mesh

COMPETING TERMS

Orchestration

RELATIONS

KNOWLEDGE AREAS

Software Engineering Data Integration & Interoperability Real-time & Streaming Data Data Architecture Collaboration

TARGET AUDIENCE

Software Architect Solution Architect Software Developer Data Engineer DevOps Engineer

EXTERNAL SOURCES

TOP QUESTIONS

How does Choreography differ from Orchestration?

Choreography is decentralized event-driven coordination, while orchestration is a centralized workflow controlling calls. Choreography favors autonomy; orchestration favors explicit control.

Category: Misunderstanding

When should I use Choreography in microservices?

Use it for high-scale, loosely coupled, event-driven domains where services can react independently. It’s ideal for eventual consistency and domain autonomy.

Category: HowTo

What are common pitfalls of Choreography?

Hidden dependencies, tangled event flows, and difficult troubleshooting can emerge. Good event schema design and observability mitigate these issues.

Category: Mistakes

How is transactional consistency handled in Choreography?

Sagas coordinate distributed transactions via events, compensating failed steps instead of using global locks.

Category: Requirements

What tooling supports Choreography?

Message brokers (Kafka), pub/sub systems, event schemas, and tracing tools (OpenTelemetry) support robust choreography.

Category: Platform

How do I monitor a choreographed system?

Use correlation IDs, distributed tracing, centralized logging, and event lineage to reconstruct flows.

Category: Observability

What governance patterns help with Choreography?

Define event contracts, versioning policies, and data ownership to avoid breaking changes and coupling.

Category: Governance

Is Choreography suitable for regulated environments?

Yes, with strong auditing, immutable logs, and clear ownership. Event history supports traceability.

Category: Compliance

What is a simple analogy for Choreography?

Think of a dance where partners follow shared steps without a conductor, reacting to cues from each other.

Category: Example