Choreography vs Orchestration
🔴 P0 — staff-level framing question: how do multi-service workflows coordinate?
How services talk to each other and how external consumers talk to your system. This section covers API boundary patterns, inter-service communication, and integration patterns.
| Pattern | Priority |
|---|---|
| API Gateway | 🔴 P0 |
| Backend for Frontend (BFF) | 🟠P1 |
| Web-gRPC Proxy | 🟠P1 |
| Strangler Fig (API Migration) | 🟡 P2 |
| API Versioning Strategies | 🟠P1 |
| Sync vs Async Communication | 🔴 P0 |
| Message Queue Patterns | 🔴 P0 |
| Choreography vs Orchestration | 🔴 P0 |
| Outbox Pattern | 🟠P1 |
🔴 P0 — staff-level framing question: how do multi-service workflows coordinate?
🔴 P0 — the most fundamental inter-service communication decision
🔴 P0 — appears in nearly every system design; the single entry point pattern
🟠P1 — solves the “one API doesn’t fit all clients” problem
🟠P1 — solves the dual-write problem; critical for exactly-once in event-driven systems
🟠P1 — how you evolve public APIs without breaking consumers
🟡 P2 — Martin Fowler’s pattern for incremental migration from monolith to microservices
🟠P1 — decoupling internal gRPC from external REST via a stateless proxy