MySQL主从复制没使用过?三大步骤让你从原理、业务上理解透彻( 四 )


大家都知道异步的好处就是实现业务上的解耦,然后对业务进行针对性的操作,从而来提升执行的效率 。这里面线程的职责分别是获取与重放的单一职责处理 。同时也方便后面系统的管理 。
 
注:默认的主从方式为异步模式,后面出一篇详细的同步方式和复制常见问题解决 。尽请期待
假如,如果说从库只有一个工作I/O完成所有的复制工作,那么就会阻塞日志读取,在来进行重放,并且重放过程中,SQL语句执行时,还会进行语法、词法分析等 。这样就导致复制效率降低,从而引发延迟问题 。所以这也是为什么在这里要涉及业务分析的原因 。现在大家对你们的业务有优化的考虑吗? 欢迎留言讨论
但这种架构也限制了复制的过程,其中一点在主库上并发运行的操作在备库只能串行化执行 。因为只有一个SQL线程来重放中继日志 。在5.7以上有了多线程的模式 。
总结一下:MySQL主从可以解决单机性能、存储不足的问题,所以主从复制是通过扩容的思路来进行数据的分布,从而划分请求来抵御过大的用户请求 。对于从库实现的原理分为三大阶段,分别是记录日志、写入到中继日志、重放日志 。对于架构模式考虑上,也需要代入我们的业务场景中来做分析使用
大家如果有什么需求,也是可以留言的 。如有感悟,欢迎关注@php智慧与能力
大冬天的,作为暖男的我,也希望能够给大家温暖下去 。关注下,咳咳咳咳 。如果需要欠缺实战的同学可以购买专栏额 。




推荐阅读