温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

haproxy+mysql负载均衡的重点讲解

发布时间:2020-04-17 11:00:17 来源:亿速云 阅读:366 作者:三月 栏目:MySQL数据库

 下文给大家带来haproxy+mysql负载均衡的重点讲解,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用亿速云在行业内累计的经验来做一个解答。

本篇重点讲解haproxy+mysql负载均衡,搭建完成后与之前搭建的redis+ssm进行整合

(注:这里用到了两台mysql数据库,分别安装两台虚拟机上,已经成功实现主主复制,如果有需要,请查看我另外一篇博客:http://www.cnblogs.com/cuijiale/p/8039421.html)

1、首先下载最新的的haproxy安装包:haproxy-1.7.9.tar.gz  

  下载完成后cp到特定的目录下/usr/local

2、安装haproxy

  解压“tar -zxvf haproxy-1.7.9.tar.gz”在本目录,压缩完成后“cd haproxy-1.7.9”

  执行安装命令“make TARGET=linux3100 CPU=x86_64 PREFIX=/usr/local/haproxy-1.7.9”

        “make install PREFIX=/usr/local/haproxy-1.7.9”

haproxy+mysql负载均衡的重点讲解

haproxy+mysql负载均衡的重点讲解

3、安装完成后配置启动

  在安装目录的根目录创建haproxy.cfg配置文件,启动时需要。

haproxy+mysql负载均衡的重点讲解

  进入haproxy.cfg文件修改

 1 global 2         log 127.0.0.1   local2    #日志相关 3         maxconn 4096 4         chroot /var/lib/haproxy 5     pidfile     /var/run/haproxy.pid 6            user haproxy 7         daemon 8     stats socket /var/lib/haproxy/stats 9         #debug10         #quiet11  12 defaults13     mode                    tcp            #haproxy运行模式(http | tcp | health)14     log                     global15     option                  dontlognull16     option                  redispatch     #serverId对应的服务器挂掉后,强制定向到其他健康的服务器17     retries                 3              #三次连接失败则服务器不用18     timeout http-request    10s19     timeout queue           1m20     timeout connect         10s            #连接超时21     timeout client          1m             #客户端超时22     timeout server          1m             #服务器超时23     timeout http-keep-alive 10s24     timeout check           10s            #心跳检测25     maxconn                 600            #最大连接数26  27 listen  mysql28         bind 0.0.0.0:23306    #代理端口29         mode tcp              #模式 TCP30         option mysql-check user haproxy   #mysql健康检查  root为mysql登录用户名31         balance roundrobin            #调度算法32         server mysql1 192.168.40.128:3306 weight 1 check  inter 1s rise 2 fall 2 #健康检查加上check33         server mysql2 192.168.40.130:3306 weight 1 check  inter 1s rise 2 fall 234 listen stats     #监控35            mode http36            bind 0.0.0.0:888837            stats enable38            stats uri /dbs39            stats realm Global\ statistics40            stats auth admin:admin

  配置文件后,就可以启动了,不过在这之前,因为数据库是负载均衡,需要同步数据与访问数据,需要创建一个一模一样的帐号来应对访问需求,并且主主复制的帐号也需要改成一样的,为了方便直接赋予这个用户全部权限。语法查看我mysql相关博客:    http://www.cnblogs.com/cuijiale/p/8034319.html,其中都有提到。ok该排的坑我们已经躺过了,这里我就启动服务(为了让haproxy监控两个数据库信息,需要分别创建一个haproxy用户,密码为空就好)。

  ./usr/local/haproxy-1.7.9/sbin/haproxy -f /usr/local/haproxy-1.7.9/haproxy.cfg

haproxy+mysql负载均衡的重点讲解

  启动后可以通过命令去查看。启动一切正常

  远程使用“http://192.168.40.128:8888/dbs”查看监控情况这里用到的配置全部来自于

 haproxy+mysql负载均衡的重点讲解

haproxy+mysql负载均衡的重点讲解

  登录密码这里配置的是admin/admin可以看到我们配置的两台mysql已经被监控到了。

4、整合smm

  上面配置图中可以看到我们让haproxy监听的23306端口,所以配置文件中需要连接这个端口

haproxy+mysql负载均衡的重点讲解

  一切就绪,启动redis集群

haproxy+mysql负载均衡的重点讲解

haproxy+mysql负载均衡的重点讲解

redis主从6个节点全部启动后,启动web服务访问

haproxy+mysql负载均衡的重点讲解

数据也完美得到。一切ok,这样我们一个SSM WEB应用+redis集群+mysql负载均衡的高可用,高性能,高扩展的读写分离架构就搭建完成了,其中还有很多瑕疵,之后也会自己慢慢补齐,架构还需要使用nginx对web应用进行负载均衡,减轻应用服务器压力。

看了以上关于haproxy+mysql负载均衡的重点讲解,如果大家还有什么地方需要了解的可以在亿速云行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,亿速云技术工程师在行业内拥有十几年的经验了。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI