分布式一致性探讨的问题:由于分布式环境 CAP 理论的存在,当用户对数据发生读写操作时可能产生的结果。
所有操作被记录在一条时间线上,任意两个事件都可以比较先后顺序.
任何客户端一定读取到最新写入的数据(包括从其他客户端写入的)。
实现:
依赖全局时钟实现,保证所有操作记录在一条时间线上。
多个写操作全局有序,单个客户端看到的写操作的顺序相同。
但是不保证各个客户端一定读取到最新值,只能保证一个客户端读取到写入的新值后,不会再读取到旧值即可。
实现: Zookeeper
所有过程必须以相同的顺序看到因果相关的操作。没有因果关系的并发写入可以被不同的进程以不同的顺序观察到。
也就是说有因果关系的操作按照因果顺序读取到结果,没有关系的操作之间可能会乱序。
实现:
依赖逻辑时钟实现。