分布式系统复制协议与路径选择算法解析
1. 传统被动复制方法
在传统被动复制方法中,当客户端向主服务器发送请求消息时,会执行以下四个步骤以确保在无故障操作期间的线性一致性:
1. 步骤1 :主服务器接收来自客户端的消息。
2. 步骤2 :主服务器处理该消息。执行后,生成 (resp, handledrsn, updated - state),其中 resp 是对消息的响应,handledrsn 标识已处理的请求消息,updated - state 是主服务器处理请求后更新的状态。
3. 步骤3 :主服务器分别向所有备份服务器发送更新消息 (resp, handledrsn, updated - state, cid, reqid),其中 cid 标识客户端,reqid 是客户端请求消息的发送序列号。每个备份服务器收到更新消息后,使用 updated - state 更新其状态,在缓冲区中维护 (resp, cid, reqid),然后向主服务器发送确认消息。
4. 步骤4 :主服务器收到每个活动备份服务器的确认消息后,将 resp 发送给客户端。
然而,为了确保即使主服务器崩溃时也能保持线性一致性,传统方法还包括一些额外步骤。考虑以下关键情况:
| 情况 | 描述 | 处理方式 |
| ---- | ---- | ---- |
| 情况1 | 主服务器 p 在执行步骤3之前崩溃 | 从所有备份服务器中选举出新的主服务器 q,客户端 i 因未收到请求响应而怀疑 p 失败,得知 q 的
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



