9、链路故障下的分布式共识问题解析

链路故障下的分布式共识问题解析

1. 分布式共识问题概述

在分布式网络中,共识问题非常关键。网络中的每个进程都有一个特定类型的初始值,最终需要输出相同类型的值,且所有进程的输出必须一致,即便输入可以是任意的。同时,通常会有一个有效性条件来描述针对每种输入模式所允许的输出值。

当系统组件没有故障时,通过简单的消息交换,共识问题通常很容易解决。但为了增加问题的挑战性,一般会考虑存在故障的情况。在链路可能出现故障的场景下,达成共识变得更加困难。

共识问题在许多分布式计算应用中都会出现,以下是一些常见的例子:
- 分布式数据库事务 :进程需要就数据库事务的提交或中止达成一致。如果所有本地计算成功完成,进程通常倾向于提交事务;否则,倾向于中止。
- 飞机高度估计 :基于多个高度计的读数,进程尝试就飞机的高度估计达成一致。
- 系统组件故障分类 :根据不同进程执行的单独诊断测试结果,进程尝试就系统组件是否故障达成一致。

2. 确定性版本的协同攻击问题

2.1 问题描述

以战场场景为例,几位将军计划从不同方向对共同目标进行协同攻击。他们知道,只有所有将军同时攻击,攻击才能成功;如果只有部分将军攻击,他们的军队将被摧毁。每位将军对自己的军队是否准备好攻击有初始意见。

将军们位于不同地点,附近的将军只能通过步行信使进行通信,但信使可能会丢失或被俘,导致消息丢失。将军们必须通过这种不可靠的通信方式,就是否攻击达成一致,并且在可能的情况下进行攻击。

2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值