让 HAProxy 1.5 感知 MySQL 复制的延迟

在MySQL世界里,HAProxy 通常来作为软件负载均衡器使用。彼得.博罗什在过去的邮件中解释了如何使用percona xtradb集群(pxc)来对其设置。所以它只发送查询到可应用的节点。同样的方法可用于常规主从设置来读取负载并分散到多个从节点。不过,使用MySQL复制,另一个因素开始发挥作用:复制延迟。在这种情况下,被提及到的 Percona xtraDB 集群以及我们提出只返回“向上”或者“向下”的检查方法行不通。我们将希望依赖其复制延迟来调整内部Haproxy的一个权重。

文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-10-29 01:40:03

让 HAProxy 1.5 感知 MySQL 复制的延迟的相关文章

用HAProxy来检测MySQL复制的延迟的教程_Mysql

 在MySQL世界里,HAProxy 通常来作为软件负载均衡器使用.彼得.博罗什在过去的邮件中解释了如何使用percona xtradb集群(pxc)来对其设置.所以它只发送查询到可应用的节点.同样的方法可用于常规主从设置来读取负载并分散到多个从节点.不过,使用MySQL复制,另一个因素开始发挥作用:复制延迟.在这种情况下,被提及到的 Percona xtraDB 集群以及我们提出只返回"向上"或者"向下"的检查方法行不通.我们将希望依赖其复制延迟来调整内部Hapr

mysql 复制表数据,表结构的3种方法

 什么时候我们会用到复制表?例如:我现在对一张表进行操作,但是怕误删数据,所以在同一个数据库中建一个表结构一样,表数据也一样的表,以作备份.如果用mysqldump比较麻烦,备份.MYD,.MYI这样的文件呢,操作起来也还是麻烦. 一,复制表结构 方法1: mysql> create table a like users; //复制表结构 Query OK, 0 rows affected (0.50 sec)   mysql> show tables; +------+ | Tables_i

【转载】MySQL复制的概述、安装、故障、技巧、工具

概述 首先主服务器把数据变化记录到主日志,然后从服务器通过I/O线程读取主服务器上的主日志,并且把它写入到从服务器的中继日志中,接着SQL线程读取中继日志,并且在从服务器上重放,从而实现MySQL复制.具体如下图所示: MySQL复制 整个过程反映到从服务器上,对应三套日志信息,可在从服务器上用如下命令查看: mysql> SHOW SLAVE STATUS;   Master_Log_File & Read_Master_Log_Pos:下一个传输的主日志信息. Relay_Master_

详细讲解MySQL复制

同MongoDB,Redis这样的NoSQL数据库的复制相比,MySQL复制显得相当复杂! 概述 首先主服务器把数据变化记录到主日志,然后从服务器通过I/O线程读取主服务器上的主日志,并且把它写入到从服务器的中继日志中,接着SQL线程读取中继日志,并且在从服务器上重放,从而实现MySQL复制.具体如下图所示: MySQL复制 整个过程反映到从服务器上,对应三套日志信息,可在从服务器上用如下命令查看: mysql> SHOW SLAVE STATUS; Master_Log_File & Re

MySQL复制(3) 创建主备复制(从另一个服务器开始复制)

前一篇讲到的创建主备复制是假设主备库都为刚刚安装好的数据库,也就是说两台服务器上的数据相同,这不是典型 的案例,大多数情况下有一个已经运行了一段时间的主库,然后用一台新安装的备库与之同步,本文讲述在这种情况下 该如何配置. 1.在备库的主机上安装MySQL,注意备库的版本不能低于主库. 2.备份主库,复制备份文件到备库,并在备库上恢复. 可以有很多种方法实现上述过程,我这里介绍的是利用innobackupex在线备份主库,这样就不需要停主库(注意: innobackupex只适用于MyISAM和

MySQL复制(2) 主备库都为空的情况下创建主备复制

本文适用于新安装的主库和备库,假定主备库为空,如果你是从已存在的主库复制,请转到<[MySQL] 复制(3)- 创建主备复制(从另一个服务器开始复制)> 主库的配置 主库需要打开二进制日志,并制定一个唯一的server id,my.cnf文件中增加或修改如下内容: server_id=60 log-bin = /data/mysql/log/mysql-bin 备库的配置 备库my.cnf的配置如下: server_id=61 read_only=1 log_bin = /data/mysql

MySQL复制(1) 原理和架构

复制的架构 MySQL复制解决的基本问题是让一台服务器的数据与其它服务器保持同步,它具有如下的特征: 1)异步:这意味着,在同一时间点上备库的数据可能与主库不一致,并无法保证它们之间的延迟: 2)向后兼容:也就是说,备库的版本可以高于主库的版本,但不能低于主库的版本 下面是MySQL复制的架构图: 大致分为三个步骤: 1)主库所有的数据更改都记录到二进制日志 2)备库通过I/O线程把主库的二进制日志复制到备库的中继日志 3)备库通过SQL线程读取并应用中继日志 上面这种复制架构使得I/O线程和S

数据库-求助一个关于mysql复制的问题

问题描述 求助一个关于mysql复制的问题 各位大神好: 小弟是个新人,接手一个现有系统的维护,因想弄套测试环境想把正在使用的mysql数据库在另一台机器上复制一个,倒腾半天无法成功,求大神答惑. 背景:原服务器是windows2003系统,新服务器的系统相同. 1.首先在新服务上安装了一个mysql数据库,由于不了解原来的数据库配置所以瞎配置了一通, 也就是在运行MySQLInstanceConfig.exe的时候选择的内容可能跟原来的不同. 2.将目标服务器上的mysql通过net stop

MySQL复制的概述、安装、故障、技巧、工具(火丁分享)_Mysql

同MongoDB,Redis这样的NoSQL数据库的复制相比,MySQL复制显得相当复杂! 概述 首先主服务器把数据变化记录到主日志,然后从服务器通过I/O线程读取主服务器上的主日志,并且把它写入到从服务器的中继日志中,接着SQL线程读取中继日志,并且在从服务器上重放,从而实现MySQL复制.具体如下图所示: 整个过程反映到从服务器上,对应三套日志信息,可在从服务器上用如下命令查看: 复制代码 代码如下: mysql> SHOW SLAVE STATUS; Master_Log_File &