oneproxy检测主从复制同步延迟
Q:为什么要实现读写分离延迟检测? A:就好比你在ATM机存钱,你老婆收到短信后乐呵呵的拿网银APP查看,结果钱没过来。其实钱已经到账了,只是查询的ATM机节点钱还没过来。所以我们dba要监控数据,一旦发现钱没有复制到另一ATM机节点,会强制你从存钱的那个ATM机节点去查看。 读写分离可以通过php yii框架、java mybatis框架实现,但主从复制的延迟检测一直是重难点,OneProxy内部支持主从复制延迟检测的功能,主要通过如下两种方式进行实现。 通过检测从库的Seconds_Behind_Master参数的值来实现。这也是OneProxy检测主从同步复制延迟的默认方式,在后台中可以看到延迟的Seconds,超过设定的延迟时间,OneProxy会停止向延迟从库分发流量(已经过测试)。 2.OneProxy自己建立一张table,每秒进行update,来检测同步复制延迟,很像Percona的pt-heartbeat工作 原理(pt-heartbeat通过真实的复制数据来确认mysql复制延迟,这个避免了对复制机制的依赖,从而能得出准确的落后复制时间,包含两部分: 第一部分在主上...