Cassandra Java 驱动程序是否知道端口 7000?

Does the Cassandra Java driver have knowledge of port 7000?

通常,端口 9042 随 Cassandra 集群种子主机一起提供,用于连接到 Cassandra 集群以执行 CRUD 操作。

在客户端与 Cassandra 集群建立连接后,Cassandra Java 客户端驱动程序是否知道端口 7000(用于对等通信)?

谢谢, 迪帕克

不,Java 驱动程序不知道也不应该知道 in-cluster node-to-node 通信。无论如何,为什么要这样做?

Java 驱动程序不使用节点间通信端口 7000 因为它不需要参与与集群中节点的 gossip。

相反,Java 驱动程序会在第一次连接到集群时与其中一个节点建立 控制连接 。驱动程序使用控制连接 (1) 查询系统表以发现集群的拓扑和架构,以及 (2) 侦听拓扑和架构更改。

正是在上面的第 (2) 点中,驱动程序可以识别何时添加节点或从集群中停用节点,以及找出架构何时更新。这就是驱动程序不需要与节点闲聊的原因。

有关详细信息,请参阅 Control connection Java 驱动程序。干杯!