Если я не ошибаюсь, можно подключиться к кластеру Cassandra, зная хотя бы один из узлов, находящихся в кластере, а затем другие могут быть обнаружены.
Предположим, что у меня есть три узла (1, 2 и 3), и я подключаюсь к этим узлам следующим образом:
Cluster.builder().addContactPoints("1,2,3".split(",")).build();
Затем, если, например, node 3, и IP не может быть разрешен, эта строка кода будет вызывать IllegalArgumentException
, как указано в документах:
@throws IllegalArgumentException if no IP address for at least one of {@code addresses} could be found
Почему кому-то нужно это поведение? Я хочу сказать, что если один из узлов не работает, я хочу, чтобы приложение могло работать, так как Cassandra все еще работает нормально.
Я проверил этот драйвер Java Cassandra: сколько контактных точек разумно? но это не отвечает на мой вопрос, поскольку он ничего не говорит о хостах, чем недоступен.
Как мне это сделать? Может быть, это изменилось в другой версии драйвера java? В настоящее время я использую cassandra-driver-core-3.0.3