多个主节点看到的执行顺序不一致,病了同时按照各自看到的写入顺序执行,那么数据库最终将处于不一致状态。

数据库必须以一种趋同的方式来解决冲突。

可能的解决方式

  • 给每个写入分配唯一的 ID,如基于时间戳的最后写入者获胜
  • 为每个主节点分配一个唯一 ID,序列号高的优先于序列号低的主节点,可能导致数据丢失
  • 以某种方式合并值,如按照字母顺序拼接在一起
  • 利用预定义号的格式记录,然后依靠应用层逻辑,事后解决冲突(可能会提示用户)