最近我一直在阅读Paxos论文、FLP定理等,并评估Apache Zookeeper用于一个项目。我也一直在阅读在线上关于Google的分布式锁服务Chubby的各种文献。我使用Zookeeper的基本用例是为了实现分布式系统的复制和通用协调。
但是我想知道的是,Zookeeper或类似Chubby的分布式锁系统到底有什么具体优势。基本上我想知道为什么我不能只使用MySQL NDB Cluster。我不断听到MySQL存在很多复制问题。我希望有更多经验的人能为此提供一些解释。
先感谢您的回答。
以下是我的需求清单:
- 我有一个同构的分布式系统。
- 我需要一些方式来维护所有节点之间的一致状态。
- 我的系统暴露一个服务,与客户端的交互将导致系统集体状态的某些变化。
- 高可用性是一个目标,所以节点宕机不应该影响服务。
- 我预计系统要处理至少数千个请求/秒。
- 我预计系统的集体状态在规模上有限(基本上插入/删除将是短暂的...但在稳态下,我预计会有大量更新和读取)。