Distributed system 主备份和状态机复制之间的关系

Distributed system 主备份和状态机复制之间的关系,distributed-system,Distributed System,谁能从高层次的角度讨论主备份和状态机复制之间的关系 在我看来,主备份是一种状态机复制。但它需要额外的机制来确保所有复制都在一个主节点上一致,这在通用状态机复制中是不必要的 是这样吗?或者你有什么想法吗?这是我的回答 主备份和状态机复制之间有什么区别 状态机是处理一系列请求的软件组件。对于每个已处理的请求,它都可以修改其内部状态并生成回复。状态机是确定性的,因为在两次运行中,它接收相同的请求序列,它总是进行相同的内部状态转换并生成相同的响应 状态机复制系统是一个客户机-服务器系统,确保每个状态机副

谁能从高层次的角度讨论主备份和状态机复制之间的关系

在我看来,主备份是一种状态机复制。但它需要额外的机制来确保所有复制都在一个主节点上一致,这在通用状态机复制中是不必要的

是这样吗?或者你有什么想法吗?

这是我的回答

主备份和状态机复制之间有什么区别

状态机是处理一系列请求的软件组件。对于每个已处理的请求,它都可以修改其内部状态并生成回复。状态机是确定性的,因为在两次运行中,它接收相同的请求序列,它总是进行相同的内部状态转换并生成相同的响应

状态机复制系统是一个客户机-服务器系统,确保每个状态机副本执行相同的客户机请求序列,即使这些请求由客户机并发提交,并由副本以不同的顺序接收。副本使用一致性算法(如Paxos)商定客户端请求的执行顺序。并发发送且时间重叠的客户端请求可以按任何顺序执行。如果一个前导失败,执行恢复的新前导可以任意重新排序任何未提交的请求,因为它尚未完成

在主备份系统(如Zookeeper)中,副本同意增量(增量)状态更新的应用顺序,增量(增量)状态更新由主副本生成并发送给其追随者。与客户端请求不同,状态更新必须按照主服务器的原始生成顺序应用,从主服务器的原始初始状态开始。如果主服务器出现故障,执行恢复的新主服务器将无法对未提交的状态更新进行任意重新排序,也无法从不同的初始状态开始应用这些更新

总之,就状态更新达成一致(对于主备份系统)需要比就客户端请求达成一致(对于状态机复制系统)更严格的订购保证。

这是来自

主备份和状态机复制之间有什么区别

状态机是处理一系列请求的软件组件。对于每个已处理的请求,它都可以修改其内部状态并生成回复。状态机是确定性的,因为在两次运行中,它接收相同的请求序列,它总是进行相同的内部状态转换并生成相同的响应

状态机复制系统是一个客户机-服务器系统,确保每个状态机副本执行相同的客户机请求序列,即使这些请求由客户机并发提交,并由副本以不同的顺序接收。副本使用一致性算法(如Paxos)商定客户端请求的执行顺序。并发发送且时间重叠的客户端请求可以按任何顺序执行。如果一个前导失败,执行恢复的新前导可以任意重新排序任何未提交的请求,因为它尚未完成

在主备份系统(如Zookeeper)中,副本同意增量(增量)状态更新的应用顺序,增量(增量)状态更新由主副本生成并发送给其追随者。与客户端请求不同,状态更新必须按照主服务器的原始生成顺序应用,从主服务器的原始初始状态开始。如果主服务器出现故障,执行恢复的新主服务器将无法对未提交的状态更新进行任意重新排序,也无法从不同的初始状态开始应用这些更新

总之,就状态更新达成一致(对于主备份系统)需要比就客户端请求达成一致(对于状态机复制系统)更严格的订购保证