分布式系统-3-主从复制

上篇我们谈到 GFS,其中 Chunk Server 采用主从复制容错,可见将一份数据放入多台机器上,当主服务器不可用时,备份服务可以让系统继续对外服务,以此来提高系统的整体可用性。主从之间的复制的内容通常有两种方式:

  1. 主服务器执行操作,将最终的结果状态发送给备份服务器,逻辑上很简单,但是可能会需要占用大量带宽。

  2. 主服务器接受操作指令,从服务器复制相同序列的操作指令,只要保证主从机器的指令结果一致,那么执行相同序列的指令,也可达到备份主服务器状态的目的。

复制状态机,可以把集群里的每台机器当做一台状态机,每台机器的初始状态一致,若接受相同的命令,最终的状态改变都是相同的。举个例子,集群的有三台机器,每台机器上都维护一个键值对数据库服务,而无论用何种方式实现,只要执行 Put("name", "Frank"),每台机器上都会将键为 "name" 的值设为 "Frank"。

所以我们需要在每个机器都需要遵循一定的协议,规范化命令对状态的影响。

你可能感兴趣的:(分布式系统-3-主从复制)