Epic programming: how we write clear and maintainable sagas
summary
Explains using the saga pattern to implement coordinated, consistent changes across multiple microservices in Go. Covers how sagas are designed and implemented to keep workflows understandable and maintainable, with concrete Go-focused techniques and practices for error handling, compensation actions, and service interaction.
AI-written summary · about
chapters (24)
- 0:00Introduction
- 1:52Choreography vs orchestration
- 3:18Orchestration components
- 5:05Compensation and transactions
- 7:14Branching and structuring
- 10:02Plain code vs structured
- 13:14Plain code problems
- 15:21Workflow evolution and migration
- 16:44Parallelism and pivot
- 17:48Idempotency and retries
- 19:54Panic and impossible cases
- 21:41Debugging and logging
- 22:44Saga for GET requests
- 23:49Async APIs
- 25:12Why not Temporal
- 27:19Idempotency questions
- 28:24Pause and manual start
- 29:08Graphs and cycles in sagas
- 30:50Parallel actions
- 32:13Reusing steps
- 32:55Orchestrator failure
- 33:38DSL and future plans
- 35:05Branching and step waits
- 37:34Q&A
related talks
38mEpic Programming: How We Write Clear, Maintainable Sagas
17mSaga Pattern for Distributed Transactions
55mTackling transactions in Microservices applications
27mBuilding Microservices Architecture The Right Way based on Saga Pattern
47mSaga Pattern Made Easy
39mEvents, Workflows, Sagas? Keep Your Event-driven Architecture Sane.
51mIntroducing Saga Pattern in Microservices with Spring Statemachine
59mGranularity & Communication for Microservice Architectures
