随笔分类 - 分布式协议与算法
分布式协议与算法-Paxos算法
摘要:本文总结自:极客时间韩健老师的分布式协议与算法实战课程。 为什么要学习Paxos算法?其实关于这个问题的答案,每个人有不同的看法。其实对我来说,我认为当前很多常用的共识算法都是基于它改进,我学习它的初衷也是为了更好的去理解Raft算法。如果你想深入理解RAFT算法,博主在这里推荐蚂蚁金服的SOFAJ
分布式协议与算法-Quorum NWR
摘要:1.强一致性与最终一致性 1.1强一致性 强一致性能保证写操作完成后,任何后续访问都能读到更新后的值;强一致性可以保证从库有与主库一致的数据。如果主库突然宕机,我们仍可以保证数据完整。但如果从库宕机或网络阻塞,主库就无法完成写入操作。 1.2最终一致性 最终一致性只能保证如果对某个对象没有新的写操作
Gossip协议
摘要:1.概述 Gossip 协议,顾名思义,就像流言蜚语一样,利用一种随机、带有传染性的方式,将信息传播到整个网络中,并在一定时间内,使得系统内的所有节点数据一致。对你来说,掌握这个协议不仅能很好地理解这种最常用的,实现最终一致性的算法,也能在后续工作中得心应手地实现数据的最终一致性。 2.直接邮寄 就
一致性哈希算法
摘要:1.哈希算法的局限性 通过哈希算法,每个 key 都可以寻址到对应的服务器,比如,查询 key 是 key-01,计算公式为 hash(key-01) % 3 ,经过计算寻址到了编号为 1 的服务器节点 A。 但如果服务器数量发生变化,基于新的服务器数量来执行哈希算法的时候,就会出现路由寻址失败的情
拜占庭将军问题与CAP
摘要:1.拜占庭将军问题 拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了达到防御目的,每个军队都分隔很远,将军与将军之间只能靠信差传消息。在战争的时候,拜占庭军队内所有将军和副官必须达成一致的共识,决定是否有赢的机会才去攻打敌人的阵营。但是,在军队内有可能存有