我有一个 4 节点 Cassandra 集群。单个节点充当 Astyanax 连接池的种子节点,在构建 AstyanaxContext 时通过 setSeeds(...) 方法提供。我还插入了我自己的连接池监控实现。这向我显示了添加的一个主机(种子节点),但它没有向我显示其他三个节点。当关闭 Astyanax 的种子节点时,例如通过 nodetool 禁用此特定节点的节俭,任何对 Cassandra 的 Astyanax 请求都会失败。我认为连接池通过种子节点了解集群的外观,并且不需要种子节点一直启动并运行?
我使用 RING_DESCRIBE 作为 NodeDiscoveryType 和 TOKEN_AWARE 作为 ConnectionPoolType。