拜占庭将军问题,
前提是保证信道的稳定,不会存在信道断裂的问题.但是会存在发布假消息的问题.
下面用一张图来解析拜占庭问题.
文章图片
【分布式|分布式协调之拜占庭将军问题】四个将军: (灰色)A (蓝色) B (红色)C (绿色)D
A: 叛将
B C D: 忠将
1: 代表进攻
0: 代表不进攻
思路:
第一步: A 同时刻给B C D 分别发送消息, A 给 B D 发送1,给 C 发送 0。
第二步: B C D 收到消息以后,B 给 C D 发送收到的 A 的 1, C 给B D 发送收到的消息 0, D 给 B C 发送收到的消息 1。
第三步: 此时,B 手里 两个1 一个0,C手里 两个1 一个0, D手里两个1 一个0。
第四部: 少数服从多数,B C D 把 占多数的 1 发送给 A,这样就达成了一致, 所有人都要选择1 方案!!
其实A就相当于提案者. 在拜占庭问题中 保持少量的提案者. 每个接受者 收到之后 同时收集 其他接受者的消息,收集到所有之后, 进行决策.
推荐阅读
- 推动NFT走出监管困境,BSN推出支持NFT基础设施网络
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍
- docker|Docker
- 腾讯|SaaS的收入模型有哪些(终于有人讲明白了)
- #|7.分布式事务管理
- python|PyTorch单机多卡分布式训练教程及代码示例