消息传递系统中的回滚恢复协议概述
1. 引言
如今,分布式系统无处不在,广泛应用于客户端 - 服务器系统、事务处理、万维网和科学计算等众多领域。然而,这些系统的巨大计算潜力常常受到其易受故障影响的限制。为了提高分布式系统的可靠性和可用性,人们开发了多种技术,包括事务处理、组通信和回滚恢复等,这些技术各有不同的权衡和侧重点。
事务处理主要关注面向数据的应用程序,而组通信则提供了一个理想通信系统的抽象,简化了可靠应用程序的开发。本文主要探讨透明回滚恢复技术,该技术主要应用于科学计算和电信等长时间运行的应用程序。
回滚恢复将分布式系统视为通过网络进行通信的应用程序进程集合。这些进程可以访问一个在所有可容忍故障中都能幸存的稳定存储设备。在无故障执行期间,进程会定期使用该设备保存恢复信息。当发生故障时,故障进程可以利用这些保存的信息从中间状态重新启动计算,从而减少计算损失。恢复信息至少包括参与进程的状态,即检查点,其他恢复协议可能还需要额外的信息,如与输入输出设备的交互日志、每个进程发生的事件以及进程间交换的消息等。
回滚恢复有多种实现方式。系统可以依赖应用程序来决定何时以及保存哪些信息到稳定存储设备上,或者为应用程序程序员提供语言构造来构建应用程序。本文主要关注透明回滚恢复技术,该技术不需要应用程序或程序员进行任何干预。系统会根据指定的策略自动进行检查点操作,并在发生故障时自动恢复。这种方法的优点是减轻了应用程序程序员实现容错的复杂且容易出错的工作,并为未考虑可靠性问题的现有应用程序提供容错能力。
消息传递系统会使回滚恢复变得复杂,因为消息在无故障运行期间会引入进程间的依赖关系。当系统中的一个或多个进程发生故障时,这些依赖关系可能会迫使一些未发生故
超级会员免费看
订阅专栏 解锁全文
171万+

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



