Index
分布式很难,原因是:
- 并行性,通过机器扩充来实现高性能
- 需要考虑容错
- 异构环境下,机器之间的交互
- 安全和隔离。
部分失败是实现分布式系统中的另外一个难点。
如何通过简单的扩充机器X倍就可以提高性能X倍,这是一个难点。
分布式基础设施:
- Storage
- Communication
- Computing
抽象、分布式系统的核心在于抽象,让使用者感觉不到分布式系统的存在。
实现分布式系统的一些组件:
- RPC
- Thread
- Concurrency
- Performance
- Scalability
分布式中大量机器必然会存在机器故障,分布式系统中如何进行容错(保证可用性)是一个要解决的问题。
- 容错性
- 可用性
- 可恢复性
non-volatile 非易失性的
通过复制来解决容错问题
一致性:
强一致: 弱一致性: