hazelcast实例和组名:最佳实践

问题描述 投票:0回答:1

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

谢谢。

hazelcast hazelcast-imap
1个回答
0
投票

避免加入无关的集群

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

如果要坚持默认的多播加入机制(请参阅下一节),还应该为每个Hazelcast群集(dev,QA,prod)更改多播组(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:

© www.soinside.com 2019 - 2024. All rights reserved.