http://en.wikipedia.org/wiki/Fallacies_of_distributed_computing
1. The network is reliable
2. Latency is zero
3. Bandwidth is infinite
4. The network is secure
5. Topology does not change
6. There is one administrator
7. Transport cost is zero
8. The network is homogeneous
http://www.somethingsimilar.com/2013/01/14/notes-on-distributed-systems-for-young-bloods/
- Distributed systems are different because they fail often.
- Writing robust distributed systems costs more than writing robust single-machine systems.
- Robust, open source distributed systems are much less common than robust, single-machine systems.
- Coordination is very hard.
- If you can fit your problem in memory, it’s probably trivial.
- “It’s slow” is the hardest problem you’ll ever debug.
- Implement backpressure throughout your system.
- Find ways to be partially available.
- Metrics are the only way to get your job done.
- Use percentiles, not averages.
- Learn to estimate your capacity.
- Feature flags are how infrastructure is rolled out.
- Choose id spaces wisely.
- Exploit data-locality ?
- Writing cached data back to persistent storage is bad.
- Computers can do more than you think they can ?
- Use the CAP theorem to critique systems.
- Extract services.
没有评论:
发表评论