hazelcast实例和群组名称:最佳做法

时间:2020-02-20 17:23:02

标签: hazelcast hazelcast-imap

我已经为dev和QA环境配置了hazelcast,并保持hazelcast实例名称相同但组名称不同(在每个yml文件中)。这个对吗 ?此外,还有什么方法可以限制群集成员。它将仅使用端口号加入显式配置的成员。您能否指导一些示例示例。

谢谢。

1 个答案:

答案 0 :(得分:1)

避免加入无关的集群

定义不同的组名称(3.y版本)或群集名称(4.y版本)是正确的方法。

如果您要坚持默认的多播加入机制(请参阅下一节),还应该更改每个Hazelcast群集(开发,质量检查,产品)的多播组(IP地址)或端口。

示例3.12.6:

Config config = new Config();
config.getGroupConfig().setName("devCluster");
config.getNetworkConfig()
  .getJoin()
  .getMulticastConfig()
  .setMulticastGroup("224.0.190.1");
Hazelcast.newHazelcastInstance(config);

YAML:

示例4.0:

Config config = new Config().setClusterName("devCluster");
config.getNetworkConfig()
  .getJoin()
  .getMulticastConfig()
  .setMulticastGroup("224.0.190.1");
Hazelcast.newHazelcastInstance(config);

YAML:

通过主机和端口定义成员-使用TCP / IP连接器

Hazelcast IMDG默认情况下使用多播群集发现方法。如果要通过成员的IP地址和端口指定成员,请禁用多播,而改用TCP / IP发现。

示例:

JoinConfig joinConfig = config.getNetworkConfig().getJoin();
joinConfig.getMulticastConfig().setEnabled(false);
joinConfig.getTcpIpConfig().setEnabled(true)
  // either without port (then port range 5701-5703 is tried)
  .addMember("172.17.0.2")
  // or with the port specified
  .addMember("172.17.0.3:25001")
  .addMember("172.17.0.3:25002");

YAML: