Every System is a Log: Avoiding coordination in distributed applications Restate
It should be possible to focus almost entirely on the business logic and the complexity inherent to the domain. Instead, you need to review line-by-line and check: “what if the service crashes here?”, “what if the API we call here is temporarily unavailable”, “what if a concurrent invocation overtakes this one here”, or “what if this process becomes a zombie while executing this function, how do I prevent it from corrupting the state?”. As a result, you spend a huge amount of time worrying about failover strategies, retries, race conditions, locking/fencing, ordering of operations, order visibility of changes, decoupling availability, etc. They add queues, key-value stores, locking services, schedulers, workflow orchestrators and they try to get them all to play nice together. And the hard truth is, many applications don’t get it right and are not correct under failures or even under load. How can we radically simplify this? In this article, we walk through a core idea that addresses m
Every System is a Log: Avoiding coordination in distributed applications | Restate Blog Every System is a Log: Avoiding coordination in distributed applications January 22, 2025 Stephan Ewen, Jack Kleeman, Giselle van Dongen Building resilient distributed applications remains a tough challenge. It should be possible to focus almost entirely on the business logic and the complexity inherent to the domain. Instead, you need to review line-by-line and check: “what if the service crashes here?” , “what if the API we call here is temporarily unavailable” , “what if a concurrent invocation overtakes
Explore this link on the map →related reading
- A Distributed Systems Reading Listferd.ca
- Notes on Distributed Systems for Young Bloods – Something Similarsomethingsimilar.com
- Everything I know about good system designseangoedecke.com
- Distributed Transactions - Database Systemscs186berkeley.net
- Distributed systems for fun and profitbook.mixu.net
- The subtle beauty of Durable Objects, and what could be better about them / Moment devlogmoment.dev
- Students' Guide to Raft :: Jon Gjengsetthesquareplanet.com
- DBMS Musings: It’s Time to Move on from Two Phase Commitdbmsmusings.blogspot.com
- Rhizome Research Logjzhao.xyz
- Let’s take a crack at understanding distributed consensuspreethikasireddy.com
- The Distributed Computing Manifesto | All Things Distributedallthingsdistributed.com
- learning-notes/books/designing-data-intensive-applications.md at master · keyvanakbary/learning-notes · GitHubgithub.com