如何使用 jdbc 或 datastax 驱动程序连接到具有多个节点的 cassandra java 客户端,而无需在 java 代码中提及节点详细信息

How to connect to cassandra java client with more than one node without mentioning the node details in java code using jdbc or datastax drivers

我是 Cassandra 的新手,我想通过 Java 客户端连接到 Cassandra,因为 Cassandra api.I 可以使用我的 java 代码连接到 Cassandra,方法是像 jdbc 驱动程序,方法是在我的 java 代码中提供节点详细信息。现在我想连接到我在集群中有 4 个节点的 Cassandra 集群,我想连接到 Cassandra 集群节点而不在代码中提供节点详细信息并且需要在集群中有 1 个节点关闭时获得连接它应该连接到集群中的下一个节点,所以当我使用 datastax 驱动程序时,在我的代码中在哪里提及我的节点详细信息。任何人都可以帮助我做到这一点..它会帮助我很多 提前致谢

查看此 Load Balancing 页面。

Cassandra 使用八卦来了解所有其他节点的最新状态。你可以连接到一个,它会知道所有其他的,并按照指示进行负载平衡。基本上,如果您之前测试的节点是这个新集群的一部分,您的旧代码应该可以正常工作。

当我的一个节点从集群中关闭时,我能够连接到 cassandra 集群可以连接到集群中的其他节点并且也可以实现负载平衡,下面是我使用和连接的连接。

cluster = Cluster
            .builder()
            .addContactPoints("192.1.1.1","192.1.1.2")
            .withRetryPolicy(DefaultRetryPolicy.INSTANCE)
            .withLoadBalancingPolicy(
                    new TokenAwarePolicy(new DCAwareRoundRobinPolicy.Builder().build()))
            .build();