《MySQL——主备切换流程与主备延迟》
目录
- 主备切换
- 主备延迟的原因
- 可靠性优先策略的主备切换流程
- 可用性优先策略的主备切换流程
主备切换
主备切换分为主动运维与被动操作。
软件升级、主库所在机器按计划下线为主动运维。
主库所在机器掉电为被动操作。
同步延迟
1、主库A执行完一个事务,写入binlog,时刻T1
2、传给备库B,备库B接受完这个binlog,时刻T2;
3、备库B执行完这个事务,时刻T3;
同一个事务,在备库执行完成的时间和主库执行完成的时间之差为T3-T1,又称主备延迟。
在备库执行show slave status
命令会显示seconds_behind_master
,表示备库延迟了多少秒。
主备库机器系统时间设置不一样并不会导致主备延迟的值不准。
在网络正常的时候,日志从主库传给备库的时间T2-T1是很短的。也就是说网络正常时,主备延迟的主要来源是备库接受完binlog和执行这个事务之间的时间差。
主备延迟最直接的表现就是:备库消费中转日志(relay log)的速度,比主库生产binlog的速度慢。
主备延迟的原因
1、备库所在机器的性能可能比主库所在的机器性能差
2、备库压力大。(主库提供写能力,备库提供读能力)
由于主库直接影响业务,使用起来比较克制,反而忽视了备库的压力控制。结果就是,备库上的查询耗费了大量的CPU资源,影响了同步速度,造成主备延迟。
这种情况可以这么解决:
1、一主多从。除了备库外,可以多接几个从库,让这些从库来分担读的压力2、通过binlog输出到外部系统,让外部系统提供统计查询的能力
3、大事务情况
由于主库必须等事务执行完才会写入binlog,再传给备库。
如果一个主库上的语句执行10分钟,那么这个事务很可能会导致从库延迟10分钟。
典型大事务场景
a、一次性删掉大量历史数据。需要控制每个事务删除的数据量,分成多次删除
b、大表DDL
4、备库并行复制能力差
可靠性优先策略的主备切换流程
在M-M结构下,状态1切换到状态2流程如下:
1、判断备库B现在的seconds_behind_master
,如果小于某个值(比如5s)继续下一步,否则继续重试这一步
2、把主库A改成只读状态,(readonly设置为true)
3、判断备库B的seconds_behind_master
,直到这个值变为0
4、把备库改成可读写状态,(readonly设置为false)
5、把业务请求切换到备库B
step2之后,主库A和备库B都处于readonly状态,此时系统处于不可写状态,直到step5才能恢复。step3比较耗时。
可用性优先策略的主备切换流程
如果强行把上面的step4、5调整到最开始执行,也就是说不等主备数据同步,直接把连接切到备库B,并且让备库B可以读写,那么系统几乎没有不可用时间。
这个切换流程,称为可用性优先流程,不过这个切换的代价,就是可能出现数据不一致的情况。
结论如下:
1、使用row格式的binlog时,数据不一致的问题更容易被发现。使用mixed或者statement格式的binlog时,数据很可能就不一致了。
2、主备切换的可用性优先策略会导致数据不一致,所以一般情况下使用可靠性优先策略。
下面介绍一个使用可用性优先策略的情形:
有一个库的作用是记录操作日志。如果数据不一致可以通过binlog来修补,而这个短暂的不一致也不会引发业务问题。
同时,业务系统依赖于这个日志写入逻辑,如果这个库不可写,会导致线上的业务操作无法执行。
如果使用可靠性优先的思路,只能等待备库慢慢应用中转日志,在备库应用完中转日志且切换成读写状态之前,数据库是处于不可用的状态。 这时也不能直接切换到备库B,然后保持B库只读。
所以此时就需要用到可用性优先策略。
Mysql的高可用性,依赖于主备延迟。主备延迟的时间越小,出现故障的时候,服务需要恢复的时间就越短,可用性就越高
《MySQL——主备切换流程与主备延迟》相关推荐
- ComeFuture英伽学院——2020年 全国大学生英语竞赛【C类初赛真题解析】(持续更新)
视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...
- ComeFuture英伽学院——2019年 全国大学生英语竞赛【C类初赛真题解析】大小作文——详细解析
视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...
- 信息学奥赛真题解析(玩具谜题)
玩具谜题(2016年信息学奥赛提高组真题) 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业.有一天, 这些玩具小人把小南的眼镜藏了起来.小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的 ...
- 信息学奥赛之初赛 第1轮 讲解(01-08课)
信息学奥赛之初赛讲解 01 计算机概述 系统基本结构 信息学奥赛之初赛讲解 01 计算机概述 系统基本结构_哔哩哔哩_bilibili 信息学奥赛之初赛讲解 02 软件系统 计算机语言 进制转换 信息 ...
- 信息学奥赛一本通习题答案(五)
最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...
- 信息学奥赛一本通习题答案(三)
最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...
- 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题
第1章 快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章 素数 第 3 章 约数 第 4 章 同余问题 第 5 章 矩阵乘法 第 6 章 ...
- 信息学奥赛一本通题目代码(非题库)
为了完善自己学c++,很多人都去读相关文献,就比如<信息学奥赛一本通>,可又对题目无从下手,从今天开始,我将把书上的题目一 一的解析下来,可以做参考,如果有错,可以告诉我,将在下次解析里重 ...
- 信息学奥赛一本通(C++版) 刷题 记录
总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 刷题 记录 http://ybt.ssoier. ...
- 最近公共祖先三种算法详解 + 模板题 建议新手收藏 例题: 信息学奥赛一本通 祖孙询问 距离
首先什么是最近公共祖先?? 如图:红色节点的祖先为红色的1, 2, 3. 绿色节点的祖先为绿色的1, 2, 3, 4. 他们的最近公共祖先即他们最先相交的地方,如在上图中黄色的点就是他们的最近公共祖先 ...
最新文章
- linux下的重要服务dns
- 武汉计算机组成原理八校联盟考试,武汉理工大学《计算机组成原理》在线练习及考试题目.doc...
- openresty require报错
- PMcaff微分享 | 为什么大部分女生爱星座?大部分男生恨星座?
- Linux基础(firewalld防火墙配置管理工具的图形用户界面)
- python获取他人的ip_Python获取指定网段正在使用的IP
- python可以不用主函数吗_python自定义函数可以向前引用不用声明
- java mysql教程基于_基于JAVA和MYSQL数据库实现的学生信息管理系统
- 19.MongoDB值distinct性能验证
- 华为GaussDB:封装JDBC数据连接访问华为GaussDB数据库实现CRUD
- Java 9 的 9 个特性
- xdroid on linux 黑屏,常见问题及解决方案
- SwiftUI CoreSpotlight 实战之实现Spotlight搜索(教程含源码)
- 全连MGRE与星型拓扑MGRE
- 阿里云技术专家刘晨旭:阿里云对数据可靠性保障的一些思考
- 初识云计算和DevOps
- 虚拟机怎么安装geany_75 个最常用的 Linux 应用程序(2018 年)
- Android全面屏导航栏高度,Android10全面屏开启底部手势横条,弹窗留白问题
- 博林格林大学计算机排名,美国传媒研究生排名简述
- Looksery Cup 2015 F. Yura and Developers(单调栈+二分+分治)(难*)