Cassandra使用一致的哈希来管理数据,在我们使用Cassandra驱动程序连接集群之后,我们连接的节点可以从集群中的其他节点进行查询以获得结果 . 但对于我目前的情况,我在这个节点中,我不希望节点查询其他节点得到结果 . 是否可能以及如何实现它?我发现Cassandra Python driver: force using a single node但是这个解决方案只提供客户端的连接池连接到某个节点,该节点仍然会查询其他节点 .
Cassandra使用一致的哈希来管理数据,在我们使用Cassandra驱动程序连接集群之后,我们连接的节点可以从集群中的其他节点进行查询以获得结果 . 但对于我目前的情况,我在这个节点中,我不希望节点查询其他节点得到结果 . 是否可能以及如何实现它?我发现Cassandra Python driver: force using a single node但是这个解决方案只提供客户端的连接池连接到某个节点,该节点仍然会查询其他节点 .
1 回答
在其他问题中使用WhiteListRoundRobinPolicy和CL.ONE之类的链接 .
您还可以扩展Statement以包括主机和自定义负载 balancer 策略,以将请求发送到包装器中的主机 . 扩展策略并覆盖
make_query_plan
,类似于(未经测试的只是从头开始,考虑遵循伪代码)如果该主机不拥有该数据,它仍将查询其他副本 .