-
Eventual Consistency
The more I have learned as a software engineer over my career, the more I have come to realize that it’s better to build systems that expect failure in dependent systems and to handle it gracefully than it is to try to build systems that eliminate the possibility of failure altogether.
This evolution in my personal thinking has come about as I have become more familiar with service architecture, asynchronous processes, and the like. It’s also come from seeing just about everything fail in various scenarios, regardless of how robust each part of the system appeared to be.
This article from Werner Vogel (CTO at Amazon.com) does a really nice job of explaining the concept of “eventual consistency” at a high level. Basically, once you have accepted the fact that you can only have two of the trio scalability, reliability, and consistency, you have to decide which attributes are most important for your use case and design your system architecture accordingly.
I hope you find the article as useful as I did.
Category: Uncategorized | Tags:
Related Posts
Recent Posts
- Speak and Spell Samples (2)
- Eulogizing the Insanely Late Steve Jobs (1)
- How to find old Airport Express/Extreme/Time Capsule firmware
- async-http-client
- Using curl with a web site secured by Rails Authenticity Token (4)
- An AppleScript to Toggle Sleep Modes
- Jamming on the Arduinome with mlrv (3)
- SammichSID Finished (1)
- Greater Orlando Hackerspace (3)
- My Arduinome Build in Pictures