同步复制vs异步复制

应用失效备援时是否数据丢失?

同步复制相对于异步复制有非常大的不同。根据您的选择,您有可能在应用失效备援时丢失数据。

 

同步复制对于交易应用的失效备援是非常重要的。使用同步复制,所有在第一个服务器的硬盘上的被提交数据被同步到第二个服务器的硬盘上。使用异步复制,如果发生失效,第一个服务器的硬盘上的被提交数据可能会丢失。还有一个替代方案叫半同步复制,将被提交数据放在第二个服务器中,但不一定存于硬盘中。

视频如果服务器失效导致数据复制软件中断会发生什么事情?”的演示了使用同步复制和异步复制的区别。这个视频是基于Evidian SafeKit高可用软件制作的,该软件提供了在镜像集群中的同步块级和文档级的数据复制

选择高可用方案时要考虑其他什么要点?

如果你想了解,真实危机情况下一个错误的选择所带来的后果,我们建议这个HA手册(高可用手册)

你也可以检查以下的关键点:

更多的技术细节

为了帮助您在同步复制和异步复制中做出正确选择,我们现在解释一下应用失效备援的相关技术机制和影响。

同步复制要求服务器之间具备局域网的宽带,这可以通过扩展在两个异地远程计算机房中间的局域网来实现。异步复制则可以基于一个速度很慢的广域网来实现。

同步复制

就像SafeKit高可用软件所安装的以文档为基础的复制,当一个在主要服务器内复制过的文件执行了应用或文档系统缓存的IO硬盘时,在给应用或文档系统高速缓存发送IO确认前,SafeKit等待IO从本地硬盘和次要服务器的确认。对于交易型应用的失效备援,这个机制是非常重要的。需要注意的是,SafeKit通过复制路径而不是整个硬盘来进行块级复制,这样大大地简化了集群的配置。

异步复制

当使用类似的其他方案,来实现的基于文档异步复制,IO被放置在主服务器上队列中,但主服务器不等次服务器的IO确认。因此,如果主服务器失效时,所有数据就会来不及被通过网络复制到次服务器上。这样,交易型应用在失效时,就会丢失已被被提交数据。

半同步复制

SafeKit高可用软件使用的半同步复制,主服务器上同步但次服务器上异步。这时,SafeKit总是会等两台服务器确认后再给应用或高速缓冲器系统发确认。对于从服务器,有同步和异步两种选项。

在半同步复制情况下,当收到IO和硬盘存盘后次服务器给主服务器发送确认。在同步的情况下,次服务器把IO存到硬盘后给主服务器发送确认。

但需要注意,如果我们考虑在同时停电两个服务器时,无法重新启动主服务器和要求重启次服务器,次要服务器上的同步模式是必需的。

总结

你看到了仅仅推迟在次要服务器上存盘就直接影响着关键应用的故障转移。因此在选择同步复制或异步复制时要谨慎。对关键应用尽量选择同步或半同步复制。

更多信息:高可用性指南


白皮书



contact
联系
contact
新闻

如您希望收到Evidian的新闻,请填写以下表格