位置: 编程技术 - 正文
推荐整理分享用HAProxy来检测MySQL复制的延迟的教程(haproxy教程),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:haproxy教程,haproxy.log,haproxy proxy protocol,haproxy proxy protocol,haproxy配置文件检查,haproxy maxconn,haproxy maxconn,haproxy原理详解,内容如对您有帮助,希望把文章链接给更多的朋友!
在MySQL世界里,HAProxy 通常来作为软件负载均衡器使用。彼得.博罗什在过去的邮件中解释了如何使用percona xtradb集群(pxc)来对其设置。所以它只发送查询到可应用的节点。同样的方法可用于常规主从设置来读取负载并分散到多个从节点。不过,使用MySQL复制,另一个因素开始发挥作用:复制延迟。在这种情况下,被提及到的 Percona xtraDB 集群以及我们提出只返回“向上”或者“向下”的检查方法行不通。我们将希望依赖其复制延迟来调整内部Haproxy的一个权重。这就是我们要做的在这篇文章中使用HAProxy 1.5。
HAProxy的代理检测
HAProxy 1.5运行我们运行一个代理检测,这是一项可以添加到常规健康检测项的检测。代理检测的好处是返回值可以是‘up'或 ‘down',但也可以是个权重值。
代理是什么呢?它是一个简单的可以访问给定端口上TCP连接的程。所以,如果我们要在一台MySQL服务器上运行代理,这需要:
如果不运行复制的话确保服务在HAProxy上是停止的 如果复制延迟小于s,设置weight为% 如果延迟大于等于s,小于s,设置weight为% 在其他情况下设置weight为5%我们可以使用这样一个脚本:
如果你希望脚本从端口发出连接到运行在端口上的MySQL实例,这样运行:
你还需要指定MySQL用户:
代理启动后,你可以检测一下它是否正常运行:
假设它运行在本地的应用服务器上,有两个复制正在运行(...2和...3),应用的读请求在端口,你需要在HAProxy中配置一个前端和后端,像这样:
现在所有的都准备好了,现在让我们看看怎么使用HAProxy来动态的改变重滞服务器,代码如下:
时延1
时延2
结论
在HAProxy 1.5中代理检查是一个很好的新增功能。 在上面的设置中是简单的: 举例来说, 如果 HAProxy 连接代理失败,它就不会被标记。 推荐与代理检查一起,保持常规的健康度检查。
细心的读取者们(reads)将会注意到这个配置,如果在所有节点上都被复制, HAProxy将会停止发送给读取者. 这可能不是最好的解决方案。但可能的选项是:停止代理并标记服务器为UP,使用状态套接字(socket)或者添加主节点作为备份服务器。
最后一点,使用Percona工具集的pt-heartbeat替代Seconds_Behind_Master,您可以编辑代理的代码,可以对复制的延迟进行测量 。
mysql中的保留字段产生的问题 YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversio····这句话对于咱们并不陌生,无非就是多了,之类的问题。但是你如果无意之中添加
从零开始搭建MySQL MMM架构 云平台是个好东西,MySQL-mmm的典型配置是需要五台机器,一台作为mmmadmin,两台master,两台slave。一下子找五台机器真不容易,何况还要安装同样的操作
PHP中常用的几个 mysql操作 显示数据库或表:showdatabases;//然后可以usedatabase_name;showtables;更改表名:altertabletable_namerenamenew_t;添加列:altertabletable_nameaddcolumnc_ncolumnattributes;删除列:altertab
标签: haproxy教程
本文链接地址:https://www.jiuchutong.com/biancheng/347302.html 转载请保留说明!友情链接: 武汉网站建设