Loosely or lousily coupled? Understanding communication patterns
summary
Compares command-driven orchestration and event-driven choreography with concrete tradeoffs, shows Java + Spring Boot examples and runnable code on GitHub using Kafka to demonstrate event chains, and argues long-running processes need workflow engine state to avoid temporal coupling. Distinguishes four couplings—implementation, temporal, deployment, domain—gives pizza/Starbucks and order-fulfillment scenarios, shows when async messaging reduces blocking and when orchestration (commands, retries, circuit breakers) or choreography (events) is better.
AI-written summary · about
chapters (21)
- 0:00Intro
- 1:00Let's talk about food
- 1:31How does ordering Pizza work?
- 5:06Synchronous blocking behavior for the result?
- 9:06Synchronous results?
- 12:06Making Pizza is long running
- 12:45A workflow engine provides long running capabilities
- 13:09Execute Processes
- 14:16Value Proposition of a Workflow Engine
- 15:50Command vs. event-based communication
- 18:30Events vs. Commands
- 19:53Definitions
- 23:22Let's switch examples: order fulfillment
- 24:18Event chains
- 29:32Collaboration style is independant of communication st
- 32:49Mix orchestration and choreography
- 36:23Types of coupling
- 41:02Patterns To Survive Remote Communication
- 42:22Circuit Breaker
- 44:57only the first communication step is synchronous
- 49:23Describe orchestration with BPMN
related talks
42mLoosely or lousily coupled?
48mI Made Everything Loosely Coupled. Does My App Fall Apart?
01h 13mOrchestration vs. Choreography in Microservices
32mBalancing Choreography & Orchestration
59mOrchestration vs. Choreography: The good, the bad, and the trade-offs
47mComplex event flows in distributed systems
25mFinding Harmony in Distributed Systems: Choreography vs Orchestration in Software Dev
38mChoreography vs Orchestration in long running asynchronous processes
