《DDIA》分布式一致性

⽽分布式⼀致性主要关于,⾯对延迟和故障时,如何协调副本间的状态。

线性一致性:新鲜性保证。效果:一个副本,原子读写
用处:锁
约束

实现:同步读修复的法定人数

顺序的引入:因果(非全序)

复制⽇志定义了与因果⼀致的写操作

序列号⽣成器不能正确地捕获跨节点的操作顺序,所以会出现因果关系的问题

每个节点和每个客户端跟踪迄今为⽌所⻅到的最⼤计数器值,并在每个请求中包含这个最⼤计数器值。

适⽤于事后确定胜利者

只有在所有的操作都被收集之后,操作的全序才会出现

每个分区各有⼀个主库的分区数据库,通常只在每个分区内维持顺序,这意味着它们不能提供跨
分区的⼀致性保证(例如,⼀致性快照,外键引⽤)

满⾜两个安全属性:
可靠交付(reliable delivery)
没有消息丢失:如果消息被传递到⼀个节点,它将被传递到所有节点。
全序交付(totally ordered delivery)*

⼆阶段提交:原⼦提交

posted @ 2020-11-14 18:00  qmchao  阅读(105)  评论(0)    收藏  举报