有人可以向我解释一下如何在Cassandra集群中分发客户端查询吗?
在我的设置中,我有三个节点(A,B和C),数据在所有节点上均匀共享。我在另一台PC(D)上运行Python服务器代码。当客户端向D发送请求时,Cassandra集群如何分发客户端查询?
答案 0 :(得分:0)
这可能取决于你的python服务器的配置方式。如果它使用Datastax python驱动程序,那么可以配置各种负载平衡选项,以告诉驱动程序您希望如何对查询进行负载平衡。
例如,cassandra.policies.RoundRobinPolicy将迭代可用的Cassandra节点,以将每个查询发送到不同的节点。
或者cassandra.policies.TokenAwarePolicy将确定哪些节点具有目标分区的副本并直接联系这些节点(即跳过联系没有目标分区的节点)。
有时可以合并可用的负载平衡策略。
有关详细信息,请参阅this。