Cassandra如何选择协调器节点和复制节点?

时间:2015-09-30 13:50:42

标签: cassandra nosql

Cassandra客户端如何选择协调器节点? 协调器节点是否存储客户端在复制之前发送的数据?

2 个答案:

答案 0 :(得分:10)

驱动程序根据您设置的策略选择协调器。常见的策略是DCAwareRoundRobinPolicy和TokenAware Policy。

对于DCAwareRoundRobinPolicy,驱动程序根据其循环策略选择协调节点。点击此处:http://docs.datastax.com/en/drivers/java/2.1/com/datastax/driver/core/policies/DCAwareRoundRobinPolicy.html

对于TokenAwarePolicy,它选择一个具有被查询数据的协调器节点 - 以减少" hops"和延迟。更多信息:http://docs.datastax.com/en/drivers/java/2.1/com/datastax/driver/core/policies/TokenAwarePolicy.html

最佳做法是将策略打包,以便在存在问题时存在主要和次要策略。有关更多信息,请参见上面的链接。

答案 1 :(得分:9)

协调器节点通常由算法选择,该算法采用"网络距离"考虑到了。任何节点都可以充当协调器,并且最初请求将被发送到您的驱动程序知道的节点。但是,一旦它连接并理解了集群的拓扑结构,它就可以变为更接近的状态。协调器。

协调器只在本地(写入时)存储数据,如果它最终成为负责数据令牌范围的节点之一。

相关问题