0

我想为 2 个节点制作心跳和分布式锁,只为 2 个节点。与 Zookeeper 或 Hazelcast 不同,我认为它应该非常简单。

但是我不确定它是否真的很简单,或者问题是否遗漏了一些重要方面,或者是否有任何高级解决方案。

请帮助查看以下关于心跳和锁定的描述,欢迎提出任何建议/意见。谢谢你。

  1. 为了产生心跳,节点 A 每秒向节点 B 发送数据包,反之亦然。如果节点 B 在某些秒内没有收到数据包,将检测到节点 A 离开。
  2. 做分布式排他锁,节点A向节点B发送锁请求包,节点B发回ack,则节点A拥有锁;节点 B 可能会发回拒绝,则节点 A 无法获得锁;或者节点B不可达或者请求超时,节点A就会有锁。
  3. 脑裂无法避免,因为只有 2 个节点

顺便说一句:它不仅限于 Java 语言。

4

0 回答 0