Failure Handling in Practice | Temporal Technologies
Imagine you’re at a café trying to order a sandwich. Most of the time everything goes fine and you get a delicious meal. And sometimes, things don’t go so well. Maybe they don’t make your favorite sandwich, or maybe they’ve run out of cheese, or maybe you’ve shown up right at the beginning of the lunch rush. Some of these failures are easier to deal with than others. Some of them you have to deal with (change your order, wait for a while, or decide it’s too long and leave). Others the restaurant will need to deal with (bring in more line cooks, grab the backup cheese from the fridge, or go buy more). It’s no different for software, and with Temporal, we aim to make handling many types of failure easy. My colleague Dominik Tornow recently outlined the theoretical and formal basis of failures and what to do about them. Fundamentally, he points out, failure has two dimensions: where it happens and when. Both dimensions have an element of what: Retry the failure or not? Compensate or not?
Imagine you're at a café trying to order a sandwich. Most of the time everything goes fine and you get a delicious meal. And sometimes, things don't go so well. Maybe they don't make your favorite sandwich, or maybe they've run out of cheese, or maybe you've shown up right at the beginning of the lunch rush. Some of these failures are easier to deal with than others. Some of them you have to deal with (change your order, wait for a while, or decide it's too long and leave). Others the restaurant will need to deal with (bring in more line cooks, grab the backup cheese from the fridge, or go buy
related reading
- How to handle fault tolerance in microservices | Temporaltemporal.io
- Temporal Primer - Building Long-Running Systemsarpitbhayani.me
- Durable Execution Solutions | Temporaltemporal.io
- Durable Execution Solutionstemporal.io
- What is idempotency? And why it matters for durable systems | Temporaltemporal.io
- Everything I know about good system designseangoedecke.com
- Temporal Workflow | Temporal Platform Documentationdocs.temporal.io
- Mediumlevelup.gitconnected.com
- What is a Temporal Activity? | Temporal Platform Documentationdocs.temporal.io
- Scaling Temporal: The basics | Temporaltemporal.io
- What is a Temporal Activity? | Temporal Platform Documentationdocs.temporal.io
- A Failure Resumejzhao.xyz