分布式
分布式理论
拜占庭问题
假设多位拜占庭将军中没有叛军,信使的信息可靠但有可能被暗杀的情况下,将军们如何达成是否要进攻的一致性决定?
解决方案大致可以理解成:先在所有的将军中选出一个大将军,用来做出所有的决定。
举例如下:假如现在一共有 3 个将军 A,B 和 C,每个将军都有一个随机时间的倒计时器,倒计时一结束,这个将军就把自己当成大将军候选人,然后派信使传递选举投票的信息给将军 B 和 C,如果将军 B 和 C 还没有把自己当作候选人(自己的倒计时还没有结束),并且没有把选举票投给其他人,它们就会把票投给将军 A,信使回到将军 A 时,将军 A 知道自己收到了足够的票数,成为大将军。在有了大将军之后,是否需要进攻就由大将军 A 决定,然后再去派信使通知另外两个将军,自己已经成为了大将军。如果一段时间还没收到将军 B 和 C 的回复(信使可能会被暗杀),那就再重派一个信使,直到收到回复。
共识是可容错系统中的一个基本问题:即使面对故障,服务器也可以在共享状态上达成一致。
分布式一致性算法
- Paxos、Raft、ZAB、PBFT、PoW、PoS、DPoS 算法用于实现分布式共识。
- Raft、ZAB 可以用于分布式选举。
- 除了分布式共识算法,Gossip、Quorum NWR 算法也可用于解决分布式一致性问题。
- 分布式共识:Paxos
- 分布式共识:ZAB
- 分布式共识:Raft
- 分布式共识:区块链共识
- 分布式一致性-Gossip 协议
- 分布式一致性-Quorum NWR
分布式选举
分布式事务
- 分布式事务
- 09分布式事务:多服务的2PC、TCC都是怎么实现的?
- 分布式事务 方案补充 —— 业务代码中实现的分布式事务处理
- 42 _ 电商系统的分布式事务调优 —— 阿里的 Seata 解决方案
- 15 _ 分布式事务串讲:重难点回顾+思考题答疑+知识全景图 —— 又有很多没见过的
分布式锁
分布式互斥
分布式存储
- 数据复制
- 数据分片
- 数据迁移