1 减少异步复制的数据丢失
简单来说就是设置min-slaves-max-lag 这个配置 可以确保slaves在指定的时间内 复制数据没完成或者ack时间没在规定时间内,则拒绝写入
2 减少脑裂的数据丢失
min-slaves-to-write 1
min-slaves-max-lag 10
如果一个master出现了脑裂,跟其他slave丢了连接,那么上面两个配置可以确保说,如果不能继续给指定数量的slave发送数据,而且slave超过10秒没有给自己ack消息,那么就直接拒绝客户端的写请求
这样脑裂后的旧master就不会接受client的新数据,也就避免了数据丢失
上面的配置就确保了,如果跟任何一个slave丢了连接,在10秒后发现没有slave给自己ack,那么就拒绝新的写请求