/ 中存储网

MySQL半同步复制(Semi-synchronous Replication)

2014-07-13 15:50:05 来源:中存储网

在企业应用中,MySQL经常采用主从构架,或者主主架构,这样可以实现MySQL服务器的负载均衡,提升MySQL服务器的性能.而关键是,可以实现MySQL的数据同步复制功能,来为企业数据备份提供一种方便的机制

默认情况下,MySQL5.5 的复制功能是异步的,这意味着当谈到数据一致性时,主服务器及其从服务器是独立的。异步复制可以提供最佳的性能,因为主服务器在将更新的数据写入它的二进制日志(Binlog)文件中后,无需等待验证更新数据是否已经复制到至少一台拓扑从服务器中,就可以自由处理其它进入的事务处理请求。虽然快,但这也同时带来了很高的风险,如果在主服务器或从服务器端发生故障,会造成主服务器/从服务器数据的不一致,甚至在恢复时造成数据丢失。

MySQL5.5 引入了一种半同步复制功能,该功能可以确保主服务器和访问链中至少一台从服务器之间的数据一致性和冗余。在这种配置结构中,一台主服务器和其许多从服务器都进行了配置,这样在复制拓扑中,至少有一台从服务器在父主服务器进行事务处理前,必须确认更新已经收到并写入了其中继日志(Relay Log)。当出现超时,源主服务器必须暂时切换到异步复制模式重新复制,直到至少有一台设置为半同步复制模式的从服务器及时收到信息。

主要注意的地方:

1)MySQL复制过程在网络上传输时是明文的,不过支持SSL加密.

2)MySQL复制要求主从架构的服务器的server id 不能相同.

3)半同步复制模式必须在主服务器和从服务器端同时启用,否则主服务器默认使用异步复制模式。