如果只有一个客户端写入集群,我是否需要cassandra的时钟同步?

时间:2017-04-14 18:10:53

标签: cassandra cassandra-3.0

从cassandra的文档中我了解到cassandra使用查询时间戳来解决两次写入之间的冲突,因此需要同步集群中所有节点上的时钟。在我的用例中,我们只有一个客户端写入群集,多个客户端从群集中读取。因此,如果我使用客户端时间戳生成器(我认为默认版本为> 3),我是否还需要让群集节点时钟彼此同步?

2 个答案:

答案 0 :(得分:5)

在与存储数据相关联的写入时间戳的上下文中,如果使用客户端时间戳和单个客户端,则不需要时钟同步。

但是,我仍然不鼓励至少尝试在Cassandra集群中保持时钟同步。有时候时钟偏差会影响Cassandra的其他部分。例如,CASSANDRA-11991表示时钟偏移影响用于轻量级事务的节点时钟的情况。虽然已经解决了这个特定问题,但仍然需要努力进行同步。

答案 1 :(得分:2)

取决于:

  1. 使用using timestamp [millis]插入 - 精细
  2. 在主键列中插入客户端生成的时间戳信息 - 精细
  3. 在主键中没有客户端设置时间的常规插入 - 保持时钟同步
  4. 可能是个好主意