

Thinking in Events: Principles of Event-Driven Architecture, Part 2 with James Eastham
Jul 30, 2025
James Eastham, a software developer and expert in event-driven architecture, dives into the nitty-gritty of building and maintaining event-driven systems. He distinguishes between choreography and orchestration with engaging analogies, reveals strategies for failure recovery, and discusses the nuances of handling sensitive data. James also explores observability with OpenTelemetry, practical migration from monoliths, and the importance of structured learning through teaching. His insights shed light on overcoming challenges in implementing EDA while emphasizing hands-on experiences.
AI Snips
Chapters
Transcript
Episode notes
When To Orchestrate Workflows
- Use orchestration when a central controller must enforce workflow steps and timeouts.
- Keep orchestration internal to a service and still publish events asynchronously where useful.
Let Failures Be Business Events
- In choreographed systems, failures should emit business events that trigger compensating actions.
- You can react to a 'kitchen failed' event to cancel orders without a central orchestrator.
Prefer Polling For Predictable Tasks
- Choose polling for predictable backend durations and use WebSockets only when real-time push is required.
- Prefer the simpler approach unless the business needs low-latency bidirectional updates.