我需要使用 zookeeper 设计分布式应用程序。这是我第一次使用 Zookeeper,所以我对它的用法有点困惑。我读过 Zab 协议(protocol)在多次更新时确保可序列化,但我无法理解,如果是这种情况,它将自动允许无锁实现。那么为什么首先需要锁呢?
如果有人可以在这里提供帮助,那就太好了。
谢谢
最佳答案
Zab 协议(protocol)是 zookeeper 的关键部分。它确保消息的原子广播到副本。 Zab 协议(protocol)可确保可串行化,但可串行化的概念仅可确保将原子数据传递给单个应用程序。
Apache 使用此协议(protocol)在 zookeeper 中实现原子广播。
Zookeeper 用于分布式服务协调。在一个有 n 个进程正在协调的系统中,为了维护特定的执行顺序,我们需要分布式锁。
关于hadoop - 使用 Zookeeper 的分布式应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24066482/