当前位置: 首页 > 知识库问答 >
问题:

成员数为偶数的hazelcast群集

卢勇
2023-03-14

我使用的是Hazelcast 3.12。5我想知道我们是否可以在偶数个节点上运行hazelcast群集,或者需要/首选奇数个节点。如果我运行奇数个节点,是否会出现大脑分裂问题或类似情况/大脑分裂的可能性增加。

这可能是最基本的,但我想确定——我想从社区了解一些真实世界的经验。我不希望在四个节点足以完成任务的情况下,从三个节点增加到五个节点会产生成本,但同时,如果我们使用大小均匀的集群会有任何缺点,则不使用四个节点运行。

共有2个答案

祝宾白
2023-03-14

关于CAP定理,Hazelcast默认为AP。有鉴于此,在大脑分裂的情况下,不会发生领导人选举,您只会从正在访问的分区接收信息。如果您的系统使用3.12中引入的新CP子系统,该子系统使用Raft算法来选择领导节点并确保一致性,则情况并非如此。

继续我认为,如果你使用CP子系统,建议有奇数个节点,如果你不使用的数量是无关紧要的。

司承业
2023-03-14

在具有具有领导人选举的集群的软件中,您应该始终努力拥有奇数个节点(而不是1个)来进行无可争议的领导人选举。

因此,最小节点数应为3。

 类似资料:
  • 我正在进行一个Spring启动项目,我使用Hazelcast作为缓存。我启用了tcp作为连接方法,我还提到了一些成员。会员可以加入。但问题是其他节点也可以加入除了成员。有人能告诉我如何限制它吗? 这是我的配置,

  • 我有一个配置类,它存储在hz IMap 这个配置类是1-st实例成员 P. S成员是两个不同的应用程序的一部分。 此配置作为对象从第一个集群成员推送到IMap 我的目标是在另一个模块中看到这个配置 如何在第二个成员实例中序列化该对象 如果调用 我得到了

  • 我正在做hazelcast监控服务,我需要为每个集群成员添加客户名称,以了解哪个模块不在集群中。 我想要成员的常量名称,而不是 这能做到吗?

  • 问题内容: 我们正在更改应用程序之一以使用Hazelcast 3.11 Community Edition,并在运行于少数主机上的多个JVM之间进行一些锁定。我们按照如下语法配置集群: 所有工作正常,并且群集已正确创建并按预期工作。 但是,我创建了一个单元测试并为本地集群配置了与应用程序使用的名称相同的名称,然后将开发人员计算机添加到其中。一切正常,我的本地主机没有任何问题地加入了应用程序集群。

  • 我们正在将一个应用程序更改为使用Hazelcast 3.11 Community Edition,并在几个主机上运行的多个JVM之间执行一些锁定。我们按照如下语法配置集群: 所有这些都可以正常工作,集群可以正常创建并按预期工作。 但是,我创建了一个单元测试,并配置了一个与应用程序使用的名称相同的本地集群,然后将我的开发人员机器添加到其中。一切正常,我的本地主机加入了应用程序集群,没有任何问题。 当

  • 我们的服务器端解决方案利用Hazelcast提供的分布式数据结构,提供与特定集群成员上的实体相关的可用状态。 当一个集群成员加入或离开集群时,我们需要其他集群节点意识到“发生了什么变化”:例如,当一个集群成员离开时,其他集群成员需要能够确定哪些实体已经变得不可用集群事件的结果,将其与具有其他原因(例如:与此类实体的正常生命周期行为相关)的实体可用性变化分开。 一个简单的实现可以基于在每个集群成员上