Экземпляр Hazelcast и название группы: лучшие практики - PullRequest
0 голосов
/ 20 февраля 2020

Я настроил hazelcast для среды dev и QA и сохранил имя экземпляра hazelcast одинаковым, но с другим именем группы (в каждом файле yml). Это правильно ? Также есть ли способ ограничить участников кластера. Он просто присоединится к явно настроенным членам с номером порта. Не могли бы вы привести некоторые примеры.

Спасибо.

1 Ответ

0 голосов
/ 21 февраля 2020

Избегайте присоединения к посторонним кластерам

Правильный способ определения разных имен групп (версии 3.y) или имени кластера (версии 4.y).

Если вы хотите придерживаться механизм многоадресного соединения по умолчанию (см. следующий раздел), вы также должны изменить группу многоадресной рассылки (IP-адрес) или порт для каждого из кластеров Hazelcast (dev, QA, prod).

Пример 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 :

...