我有一个两个节点的 redhat 系统,每个系统都有一组相同的服务。我正在寻找一种方法来确定哪个服务是“负责”,哪个是“运行备份”。例如,例如;service-A 存在并在两个节点上运行,但只有一个节点应该在处理数据,而另一个节点则处于休眠状态,直到第一个节点崩溃。集合中的其他服务也是如此。
Zookeeper 的领导选举能力看起来就足够了;整个短暂和顺序的 znode 方法在纸面上看起来不错。例如,我想象我还需要在每个节点上运行一个 zookeeper 服务,以在节点故障时实现冗余。
但是文档指出了多个 zookeeper 需要至少 3 个实例才能保证在所有其他 zookeeper 中选举出领导 zookeeper 的法定人数的问题。由于我只有两个节点,这看起来像一个交易破坏者。
所以在我放弃 zookeeper 方法之前,我想我问一下 zookeeper 是否有一些配置选项来允许两个节点系统工作。否则我要去寻找下一个最适合我的问题的方法。