6.2.4 复制

对于多个集群之间的操作日志同步,Megastore系统采用的是基于Paxos的复制协议机制,对于普通的Master-Slave强同步机制,Master宕机后,Slave如果需要切换为Master继续提供服务需要首先确认Master宕机,检测Master宕机这段时间是需要停止写服务的,否则将造成数据不一致。基于Paxos的复制协议机制主要用来解决机器宕机时停止写服务的问题,Paxos协议允许在只是怀疑Master宕机的情况下由Slave发起修改操作,虽然可能出现多点同时修改的情况,但Paxos协议将采用投票的机制保证只有一个节点的修改操作成功。这种方式对服务的影响更小,系统可用性更好。

Megastore通过Paxos协议将数据复制到多个数据中心,而且机器故障自动切换不停写服务,保证了高可靠性和高可用性。当然,Megastore部署时往往会要求将写操作强同步到多个机房,甚至是不同地域的多个机房,因此,延时比较长,一般为几十毫秒甚至上百毫秒。