当数据库碰着漫衍式,你会怎么做?
我们知道漫衍式体系中,各个呆板拥有沟通的时钟(全局时钟)是不太也许的。1978年Lamport在一篇论文中提出了一种逻辑时刻戳,来办理漫衍式体系中区分变乱产生的时序题目。这篇论文是漫衍式辖档挽域被引用最多的论文之一。 Lamport时刻戳就是两者的简朴团结:时刻戳/计数器 + 节点ID,法则如下: 每个变乱对应一个Lamport时刻戳,初始值为0 假如变乱在节点内产生,当地历程中的时刻戳加1 假如变乱属于发送变乱,当地历程中的时刻戳加1并在动静中带上该时刻戳 假如变乱属于吸取变乱,当地历程中的时刻戳 = Max(当地时刻戳,动静中的时刻戳) + 1 变乱的次序凭证时刻戳排序,时刻戳沟通则凭证节点ID巨细排序 上图,ABC节点的全部变乱的全序相关如下: Lamport时刻戳背后的头脑是:两个变乱可以成立时序(因果)相关的条件是两个变乱之间是否产生过信息转达。因此Lamport时刻戳只担保因果相关(偏序)的正确性,不担保绝对时序的正确性。 全序广播 Lamport时刻戳通过动静的转达来确定变乱的时序相关,引出了全序广播(在节点间互换动静的协议)。全序广播必要满意两个安详属性: 靠得住交付 (reliable delivery),没有动静丢失:假如动静被转达到一个节点,它将转达到全部节点 全序交付(total ordered delivery),动静以沟通的次序转达给每个节点 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |