传统的 MySQL复制
提供了一种简单的从源到副本的复制方法。source是primary,有一个或多个replicas,就是secondary。源应用事务,提交它们,然后它们稍后(因此异步)发送到副本以重新执行(在基于语句的复制中)或应用(在基于行的复制中)。它是一个无共享系统,默认情况下所有服务器都有数据的完整副本。
还有半同步复制,它在协议中增加了一个同步步骤。这意味着主节点在申请时等待从节点确认它已收到事务。只有这样,主节点才会恢复提交操作。
在这两张图片中,有一张经典的异步 MySQL 复制协议(及其半同步变体)的图表。不同实例之间的箭头表示服务器之间交换的消息或服务器与客户端应用程序之间交换的消息。