【问题标题】:how Cassandra chooses the coordinator node and the replication nodes?Cassandra 如何选择协调节点和复制节点?
【发布时间】:2015-12-28 08:15:40
【问题描述】:

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

【问题讨论】:

    标签: cassandra nosql


    【解决方案1】:

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

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

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

    最佳做法是打包政策,以便在出现问题时有主要政策和次要政策。更多信息,请访问上面的链接。

    【讨论】:

    • 政策的详细信息。
    【解决方案2】:

    协调节点通常由考虑“网络距离”的算法选择。任何节点都可以充当协调者,首先请求将发送到您的驱动程序知道的节点。但是一旦它连接并理解了集群的拓扑结构,它可能会变成一个“更接近”的协调器。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-16
      • 2021-08-10
      • 2015-01-20
      • 2014-10-05
      • 2019-08-29
      • 2016-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多