【发布时间】:2018-11-02 15:35:30
【问题描述】:
有两个数据中心,每个中心有 3 个节点。我正在以本地仲裁的一致性级别对同一个表进行两次简单的插入(非常快地背靠背)。该表有一个分区键,没有聚簇列。
有时第一个插入会胜过第二个插入。第一个插入语句生成的数据是保存在数据库中的数据,即使我在那之后立即进行了插入。
C#代码
var statement = "Insert Into customer (id,name) Values (1, "foo")";
statement.SetConsistencyLevel(ConsistencyLevel.LocalQuorum);
session.Execute(statement);
【问题讨论】:
-
机器之间的时间是否同步?
-
这绝对是时间同步问题。您有 2 个选项来解决此问题:1. 使用 Chris 建议的客户端时间戳或 2. 使用 ntp 服务器保持服务器节点之间的时间同步。在第二种情况下,您的 ntp 服务器也需要适当的监控。