18.5 降低数据不一致情况出现的概率
本章前面在介绍复制原理时曾经提到过,因为复制的在线更新操作以异步方式进行,所以当主从服务器之间的连接不稳定,或者从服务器未能 收到主服务器发送的更新命令时,主从服务器就会出现数据不一致的情况。
为了尽可能地降低数据不一致的出现概率,Redis从2.8版本开始引入了 两个以min-replicas开头的配置选项:
用户设置了这两个配置选项之后,主服务器只会在从服务器的数量大于 等于min-replicas-to-write
选项的值,并且这些从服务器与主服务器最后一次成功通信的间隔不超过min-replicas-max-lag
选项的值时才会执行写 命令。
举个例子,假设我们想要让主服务器只在拥有至少3个从服务器,并且这些从服务器与主服务器最后一次成功通信的间隔不超过10s的情况下 才执行写命令,那么可以使用配置选项:
通过使用这两个配置选项,我们可以让主服务器只在主从服务器连接良 好的情况下执行写命令。因为在线更新的异步性质,min-replicas-max- lag和min-replicas-to-write并没有办法完全地杜绝数据不一致的情况出 现,但它们可以有效地减少因为主从服务器连接不稳定而导致的数据不 一致,并降低因为没有从服务器可用而导致数据丢失的可能性。
参考目录
绝大多数 内容来自 Redis使用手册 (黄健宏 著) 第18章 复制