Q:为什么要实现读写分离延迟检测?

A:就好比你在ATM机存钱,你老婆收到短信后乐呵呵的拿网银APP查看,结果钱没过来。其实钱已经到账了,只是查询的ATM机节点钱还没过来。所以我们dba要监控数据,一旦发现钱没有复制到另一ATM机节点,会强制你从存钱的那个ATM机节点去查看。

读写分离可以通过php yii框架、java mybatis框架实现,但主从复制的延迟检测一直是重难点,OneProxy内部支持主从复制延迟检测的功能,主要通过如下两种方式进行实现。

  1. 通过检测从库的Seconds_Behind_Master参数的值来实现。这也是OneProxy检测主从同步复制延迟的默认方式,在后台中可以看到延迟的Seconds,超过设定的延迟时间,OneProxy会停止向延迟从库分发流量(已经过测试)。

2.OneProxy自己建立一张table,每秒进行update,来检测同步复制延迟,很像Percona的pt-heartbeat工作 原理(pt-heartbeat通过真实的复制数据来确认mysql复制延迟,这个避免了对复制机制的依赖,从而能得出准确的落后复制时间,包含两部分: 第一部分在主上pt-heartbeat的–update线程会在指定的时间间隔更新一个时间戳,第二部分是pt-heartbeat的–monitor 线程或者–check线程连接到从上检查复制的心跳记录(前面更新的时间戳),并和当前系统时间进行比较,得出时间的差异。) 超过设定的延迟时间,OneProxy会停止向延迟从库分发流量(已经过测试)。

表名:oneproxy_replication_check

可以通过控制SQL,加上/* master */来强制走主库,例如涉及到金额的查询。

注:采用中间件的好处是前段代码改动小。

如下图所示:

本文转自hcymysql51CTO博客,原文链接: http://blog.51cto.com/hcymysql/1664963,如需转载请自行联系原作者

oneproxy检测主从复制同步延迟相关推荐

  1. mysql主从复制延时性问题_MySQL主从同步延迟原因及解决办法

    MySQL主从延迟原因以及解决方案:谈到MySQL数据库主从同步延迟原理,得从mysql的数据库主从复制原理说起,mysql的主从复制都是单线程的操作(mysql5.6版本之前),主库对所有DDL和D ...

  2. mysql集群和主从区别_搭建MySQL主从集群,主从复制过程中同步延迟问题

    上一节我们成功搭建了主从复制.读写分离,实际上并发量和数据量不大的情况下,使用起来也是非常的流畅,无任何问题,可以正常运行了. 但是,要保证高可用,高并发的情况,可以写数据库master就有累了,从服 ...

  3. MySQL 主从同步延迟的原因及解决办法

    首页 博客 专栏·视频 下载 论坛 问答 代码 直播 能力认证 高校 会员中心 收藏 动态 消息 创作中心 MySQL 主从同步延迟的原因及解决办法 hao_yunfeng 2018-09-04 23 ...

  4. 工作中InnoDB引擎数据库主从复制同步心得

    近期将公司的MySQL架构升级了,由原先的一主多从换成了DRBD+Heartbeat双主多从,正好手上有一个电子商务网站新项目也要上线了,用的是DRBD+Heartbeat双主一从,由于此过程还是有别 ...

  5. mysql 主从同步不一致_MySQL 主从同步延迟的原因及解决办法

    mysql 用主从同步的方法进行读写分离,减轻主服务器的压力的做法现在在业内做的非常普遍. 主从同步基本上能做到实时同步.我从别的网站借用了主从同步的原理图. 在配置好了, 主从同步以后, 主服务器会 ...

  6. MySQL主从数据库同步延迟问题解决

    MySQL主从数据库同步延迟问题 摘要: MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响 ...

  7. MySQL出现同步延迟有哪些原因?如何解决?

    MySQL出现同步延迟有哪些原因?如何解决?   1.从库太多导致复制延迟 优化:建议从库数量3-5个为宜   2.从库硬件比主库硬件差 优化:提升硬件性能   3.慢SQL语句过多 优化:SQL语句 ...

  8. mysql relaylog 慢_MySQL 主从同步延迟的原因及解决办法

    mysql 用主从同步的方法进行读写分离,减轻主服务器的压力的做法现在在业内做的非常普遍. 主从同步基本上能做到实时同步.我从别的网站借用了主从同步的原理图. 在配置好了, 主从同步以后, 主服务器会 ...

  9. mysql 两个时间相差大于24小时的数据_MySQL 主从同步延迟的原因及解决办法(仅学习)...

    原文链接:https://blog.csdn.net/hao_yunfeng/article/details/82392261 Mysql主从基本原理,主要形式以及主从同步延迟原理 (读写分离)导致主 ...

最新文章

  1. kubernetes认证,对接第三方认证系统,对接github认证
  2. Struts2+Spring2框架开发的菜鸟绝对能看得懂的用户登录程序 (2)
  3. iOS界面设计之基础控件的学习 --- UITextField
  4. Star Schema完全参考手册读书笔记三
  5. SVN自助更新:运维利器Puppet实例讲解
  6. 博文视点读书节第七日丨IT大咖来荐书,CS提升分享今晚开播,晒单赢福袋活动上线!
  7. 推荐的MyBatis传参方式List、数组等
  8. 冷备份实验,裸设备上备份
  9. cxgrid的FINDPANEL编程
  10. c++游戏编程 源代码
  11. 真无线蓝牙耳机,享受高品质杜比音效
  12. graphpad做单因素方差分析_手把手教你用Graphpad做单因素方差分析
  13. Share Disk、Share Memory和Share Nothing的区别
  14. LOTO示波器 实测 开环增益频响曲线/电源环路响应稳定性
  15. Excel2016右键新建工作表,打开时提示“因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。”的解决办法
  16. linux 温度测试软件,linux上安装cpu温度监控软件
  17. 1155低功耗cpu排行_低功耗是亮点 Intel第三代酷睿CPU评测
  18. css交集选择器的使用
  19. 超文本传输协议 - 白话篇
  20. nginx events 模块配置

热门文章

  1. 云栖大会上,阿里巴巴重磅发布前端知识图谱!
  2. php 批量修改mysql 数据表,字段 字符集编码
  3. C#图解教程 第六章 深入理解类
  4. [转] 深入理解React 组件状态(State)
  5. 如何使用系统自带的日志转储功能logroate.存放应用日志
  6. angular中的cookies与cookieStore区别
  7. 带你剖析WebGis的世界奥秘----Geojson数据加载(高级)
  8. linux安装openssl
  9. Hbase Java API详解
  10. WriteComponent,ReadComponent