分布式理论梳理——FLP定理

FLP定理表明,在异步通信的分布式系统中,即使只有一个进程失败,也无法保证非失败进程达成一致性。该定理揭示了在无时钟同步、无法探测失败的环境中,不存在确定性的一致性算法。尽管如此,实际系统通过TCP协议和NTP时钟同步等手段,可以在一定程度上缓解这一问题。
摘要由CSDN通过智能技术生成

    FLP Impossibility(FLP不可能性)是分布式领域中一个非常著名的定理。它给出了一个令人吃惊的结论:在异步通信场景,即使只有一个进程失败了,没有任何算法能保证非失败进程能够达到一致性!这意味着,在假设网络可靠、节点只会因崩溃而失效的最小化异步模型系统中,仍然不存在一个可以解决一致性问题的确定性算法。

    这是为什么呢?如果一个节点的进程停止工作了,可其它节点并不知晓,它们认为是消息延迟或者这个进程特别慢,它们仍然会尝试读取消息。

    1)系统模型

    FLP定理基于下面几点假设:

  • 异步通信:
    异步通信与同步通信的最大区别是没有时钟、不能时间同步、不能使用超时、不能探测失败、消息可任意延迟、消息可乱序;
  • 通信健壮:
    只要进程非失败,消息虽会被无限延迟,但最终会被送达,且消息仅会被送达一次(无重复);
  • Fail-Stop模型:
    进程失败如同宕机,不再处理任何消息。相对Byzantine式模型,不会产生错误消息;
  • 协议约束:
    不要求所有非故障进程都达成一致,只要有一个进程进入决定状态就算达成一致,且一致结果只能是属于{0,1};
  • 失败进程数量:
    最多只有一个进程失败或单节点宕机;

    2)推导证明

    假设有A、B、C、D、E五个进程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值