数据库主从延迟

数据库集群中的主从延迟问题通常在1ms左右,但在高并发场景下可能影响数据安全性。解决方案包括:1) 所有操作从主库读写,从库作为冷备;2) 开启半同步协议确保数据强一致性,但可能影响性能;3) 使用缓存中间件如Redis,降低对从库的依赖。
摘要由CSDN通过智能技术生成

为了实现数据库的高可用,一般需要搭建数据库集群,即所谓的n主n从的数据库结构。主库主要用作对数据库的写操作,然后再同步给从库;从库主要用作对数据的查询。

对主库的数据的更新操作时,数据的变更会同步给从库。这段同步的时间就是主从延迟。

主从延迟时间一般非常短,一般在1ms左右。主从延迟是不可控的,不能杜绝,也不知道在同步过程会发生什么。如果主从同步过程中其他的请求进来查询从库取的就是脏数据。

但是大部分业务几乎是可以忽略这个主从延迟,因为主从延迟时间非常之短。但是如果你的系统并发量非常高,并且需要保证数据是绝对的安全与正确,那只能牺牲性能来得到数据的保证了。

解决办法:
1.如果业务量不大,那就所有读写操作都从主库读取,从库只用作冷备。

2.打开主从数据库的强一致性协议。主从同步默认的是异步方式,即在主库数据更新后就立即返回给客户端成功状态,不用管从库是否同步完成。
这里写图片描述

打开Semi-sync(半同步),即在主库数据更新后,然后同步给从库。若从库同步完成再返回给客户端请求完成的状态。

打开主从的半同步命令
master:
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值