Cassandra 是否需要所有服务器都具有相同的时间?

Does Cassandra need all the servers to have the same time?

我在 Windows 机器上有一个 .NET 应用程序,在 Linux (CentOS) 服务器上有一个 Cassandra 数据库。 Windows 机器 可能在过去几秒钟 有时,当这种情况发生时,删除或更新查询不会生效。

Cassandra 是否要求所有服务器具有相同的时间? Cassandra 驱动程序发送带有时间戳的查询吗? (我只是写简单的删除或更新查询,没有时间戳或 TTL)。

更新:我使用 Datastax C# driver

Cassandra 按照 "last write wins" 原则运行。因此,系统时间对于确定哪些写入成功至关重要。 Google for "cassandra time synchronization" to find results like this and this 这解释了为什么时间同步很重要,并提出了一种利用内部 NTP 池解决问题的方法。这些文章专门针对 AWS 架构,但原则适用于任何 cassandra 安装。

客户端时间戳用于相对于彼此对变异操作进行排序。

DataStax C# driver uses a generator to create them,所有主机 运行 客户端驱动程序(执行请求的来源)的时钟彼此同步很重要。