Cassandra 集群连接中的多个端点

Multiple Endpoints in Cassandra cluster Connection

我想将配置文件中的多个 Cassandra 端点提供给我的 Java 应用程序。

例如: 卡桑德拉主机:"host1, host2"

我试过addContactPoints(host),但没用。如果其中一个 Cassandra 节点出现故障,我不希望我的应用程序出现故障。

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

java 驱动程序可以适应其中一个不可用的接触点。接触点用于建立初始连接 [*]。只要驱动程序能够与一个联系点通信,它就应该能够查询 system.peerssystem.local table 以发现集群中的其余节点。

* 它们也被添加到集群中的初始主机列表中,但通常提供的联系点映射到 system.peers table.

中的节点