haproxy-实现mysql多slave读负载均衡

本文介绍如何使用HAProxy实现MySQL一主多从架构的读操作负载均衡,包括HAProxy的安装配置、监控页面设置、日志开启、从数据库授权及故障自动剔除功能。

一 前言

HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。而mysql一主多从是比较通用的架构,我们可以利用haproxy在tcp层对数据库的读请求进行代理,从而实现多个从库读的负载均衡。

二 背景说明

目前公司的业务都是一主多从,想要把查询分到多个从库上,都是通过开发维护多个从库的配置来实现,这样比较麻烦,通过haproxy开发只需要一个配置项,开发不用理会后端有多少从库,而且可以把多个从库都利用起来,同时后台db有故障haproxy可以自动摘除,不需要像原先那样需要开发改数据库配置

三 环境说明

我这里都是debian系统
haproxy +mysql_master  192.168.6.123
mysql_slave1  192.168.4.21
mysql_slave2  192.168.9.53

四 haproxy下载安装

下载地址:http://download.openpkg.org/components/cache/haproxy/或者 Index of /repo/pkgs/haproxy

下载完之后,解压,安装

make TARGET=linux26 ARCH=x86_64 PREFIX=/home/yx/server/haproxy  # 编译

make install PREFIX=/home/yx/server/haproxy # 安装

五 配置文件默认没有,需要手动创建

global
        log 127.0.0.1 local2
       # chroot /var/lib/haproxy
        pidfile /home/yx/server/haproxy/haproxy.pid
        maxconn 4000
        #user haproxy
        #group haproxy
        daemon
defaults
        mode tcp
        log global
        option httplog
        option dontlognull
        retries 3
        timeout http-request 10s
        timeout queue 1m
        timeout connect 10s
        timeout client 1m
        timeout server 1m
        timeout http-keep-alive 10s
        timeout check 10s
        maxconn 3000
## 定义一个监控页面,监听在1080端口,并启用了验证机制
listen stats
        mode http #监听模式
        bind 192.168.6.123:1
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值