理念:
在允许更改操作继续执行前,确保更改操作至少被写入一个slave中的磁盘。也就是对于每一个连接,最多只有一个事务会由于master崩溃二丢失。半同步复制没有暂停提交事务,只是在事务已被写入到至少一个slave的中继日志中之前,避免发送一个答复给客户端。当slave被告知事务已经在持久存储中之后,客户端的提交才会返回。如下图:
这意味着,在事务被提交给存储引擎之后但还没提交给slave之前,如果发生系统崩溃,则每个连接都有可能丢失一个事务。然而,由于事务时在已被提交到的slave后再被确认已提交给客户端的。因此最多只会丢失一个事务。所以说,如果客户端有多个连接的话,每个连接丢失一个事务就会有多个事务丢失。
阅读(2039) | 评论(0) | 转发(0) |