如何处理 MySQL 主从延迟?
[TOC] MySQL 读写分离在互联网项目中其实还是比较常见的,松哥之前也写过文章和大家介绍具体的搭建方案,还不会搭建的小伙伴可以参考这里: 手把手教大家搭建 MySQL 主从复制 既然是主从,是读写分离,那就不可避免会产生延迟,因为数据从主机同步到从机,总是需要时间的。 一般来说这个时间不会太久,可能就是 1ms 左右。 不过,如果你的系统数据量比较大,亦或者业务对数据实时性要求比较高,那么我们还是需要想办法去处理这个主从延迟。 一般来说有如下几种思路,松哥来和大家一一说明。 一 强制读主库 第一种方案就是强制读主库。 这种方案看着有点笨重,但却是我司用的最多的一种方案。 简单来说,就是将查询请求进行分类:一类是对数据实时性要求不高的请求,这种请求直接去读从库;另一类则是对实时性要求比较高的请求,这种就强制读主库。 举个简单例子:读取系统配置、读取用户基本信息等等,都算是对数据实时性要求不高的请求,这种直接读取从库就可以了;但是像用户下单获取订单状态的话,这种就需要读主库了,确保数据的一致性。 强制读主库我们可以在代码里边通过 AOP 的方式实现,也可以通过一些数据库中间如 Sha...