【运维面试】面试官:mysql主从延迟是怎么处理的
【摘要】 前言
运维关于mysql的面试题,最常见的就是mysql主从同步,对于主从同步这一块稍微深入一点的就是mysql主从延迟怎么产生的,怎么解决的。
现阶段的互联网公司,一般都是读多写少,一个主库配几个从库来读取数据,减轻高并发读的压力。
关于mysql延迟
导致mysql主从延迟的原因有很多,其中一个最主要的就是高并发场景下的延迟。 从库需要从主库拷贝日志以及串行...
前言
运维关于mysql的面试题,最常见的就是mysql主从同步,对于主从同步这一块稍微深入一点的就是mysql主从延迟怎么产生的,怎么解决的。
现阶段的互联网公司,一般都是读多写少,一个主库配几个从库来读取数据,减轻高并发读的压力。
关于mysql延迟
导致mysql主从延迟的原因有很多,其中一个最主要的就是高并发场景下的延迟。
从库需要从主库拷贝日志以及串行执行SQL,所以在高并发的场景下,从库的数据一定会比主库慢一些,经常会出现刚写入的数据,在从库上找不到,需要经过几十毫秒才能读取到,有时候甚至是几百毫秒。
mysql 的复制分为半同步复制和并行复制,这两种方式其实就是来解决数据丢失和主从同步延时的问题的。
半同步复制:
主库写入binlog日志后,就会强制立即将数据同步到从库,从库将日志写入自己本地的relay log之后,会发挥一个响应给主库,主库接收到至少一个从库的响应之后才会认为写入已经完成了。
并行复制:
从库开启多个线程,并行读取 relay log 中不同库的日志,然后并行重放不同库的日志,这是库级别的并行。
主从延迟产生的原因
- 网络抖动导致的主从延迟
- 主库上有大的事务,导致从库延时
- 主库上有慢查询语句,锁等待等原因,从库个数较多
- 从库上发生的大的事务,阻塞了后续的所有事务的运行
- 从库并发量比较大,导致延迟
文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。
原文链接:zmedu.blog.csdn.net/article/details/108533780
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)