Несколько конечных точек в кластере Cassandra Connection - PullRequest
1 голос
/ 14 июня 2019

Я хочу дать несколько конечных точек Cassandra из файла конфигурации моему приложению Java.

Пример: хост cassandra: "host1, host2"

Я попытался addContactPoints(host), но это не сработало.Если один из узлов Cassandra выходит из строя, я не хочу, чтобы мое приложение закрывалось.

cluster = Cluster.builder()
  .withClusterName(cassandraConfig.getClusterName())
  .addContactPoints(cassandraConfig.getHostName())
  .withSocketOptions(new SocketOptions().setConnectTimeoutMillis(30000).setReadTimeoutMillis(30000))
  .withPoolingOptions(poolingOptions).build();

1 Ответ

2 голосов
/ 14 июня 2019

Java-драйвер устойчив к одной из контактных точек, которые недоступны. Точки контакта используются для установления начального соединения [*]. Пока драйвер может взаимодействовать с одной контактной точкой, он должен иметь возможность запрашивать таблицы system.peers и system.local, чтобы обнаружить остальные узлы в кластере.

* Они также добавляются в список начальных хостов в кластере, но обычно предоставленные точки контакта соответствуют узлу в таблице system.peers.

...