赞
踩
HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。根据官方数据,其最高极限支持10G的并发。另外其支持从4层至7层的网络交换,即覆盖所有的TCP协议,换而言之,Haproxy 甚至还支持Mysql的均衡负载。
HAProxy特别适用于那些负载特大的web站点, 这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
在功能上haproxy通过反向代理方式实现Web负载均衡,和nginx、ApacheProxy、lighttpd、Cheroke等一样。不同点在于,haproxy并不是Web服务器,前面提到的所有带反向代理负载均衡产品,都是Web服务器。简单来说就是,haproxy仅仅是一款负载均衡的应用代理程序,本身不提供Web服务。
haproxy配置简单,拥有非常不错的服务器健康检查功能,还有专门的系统状态监控页面。当其代理的后端服务器出现故障,haproxy会自动将该服务器剔除,故障恢复后再自动加入。
下载地址:Releases · haproxy/haproxy · GitHub
(1).haproxy的负载均衡算法
haproxy的负载均衡算法配置在etc/haproxy.cfg中balance参数,与server参数配合使用。haproxy提供来8种负载均很算法:roundrobin根据权重轮询(动态)、static-rr根据权重轮询(静态)、source根据请求源IP、leastconn最少连接者先处理、uri根据请求的uri、url_param根据请求的url参数、rdp-cookie据据cookie(name)来锁定并哈希每一次请求、hdr(name)根据HTTP请求头来锁定每一次HTTP请求。
我是没发现动态权重分配和静态权重分配有什么区别。
详细查看:HAProxy的调度算法_staightChen的博客-CSDN博客_haproxy 权重
haproxy配置文件参数详细介绍:haproxy配置详尽参数说明(转载以便查询)_wngua的博客-CSDN博客
(2).实验环境
youxi1 192.168.1.6 负载均衡器(haproxy)
youxi2 192.168.1.7 主机1
youxi3 192.168.1.8 主机2
(3).实验
1)负载均衡器youxi1上安装配置haproxy
安装依赖包
1 |
|
将下载好的安装包上传到服务器上,解压安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
|
手动创建haproxy配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
|
上面的uid99,和gid99都是nobody,系统自带的。
1 2 |
|
另外,后端服务器配置格式为server [服务器名称] [IP地址:端口号] [参数],参数如下:
1 2 3 4 5 6 7 8 9 10 11 |
|
配置文件参数详细查看:haproxy配置详尽参数说明(转载以便查询)_wngua的博客-CSDN博客
生成haproxy的启动脚本,改太麻烦了直接复制好了。注意:这是解压目录下的examples/haproxy.init修改来的,不过reload是有问题的。想要reload需要手动输入命令。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
|
做一个软连接给启动脚本使用(添加环境变量没有试过),也可以直接复制过去
1 2 3 |
|
创建pid存放目录,并修改haproxy的所属主
1 2 3 4 |
|
配置日志收集文件
1 2 3 4 5 6 7 |
|
启动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
特别说明reload手动输入命令该怎么做,主要是不停服务重新加载配置文件,平滑过渡
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
添加开机自启
1 2 3 4 5 6 |
|
结束所有haproxy,使用killall(不要用killall5,好像会导致断开,可能是我用的有问题吧),如果没有killall使用命令yum -y install psmisc安装
1 2 3 |
|
如果防火墙开启来记得添加端口号
1 2 3 |
|
2)配置后端服务器youxi2和youxi3
我这边做实验,一切从简。
1 2 3 4 5 6 7 8 9 10 11 |
|
防火墙启动时记得添加端口号
1 2 3 4 5 6 7 |
|
3)测试
首先查看下监控页面
然后直接访问负载均衡器
此时回头看监控页面,可以看出是平均分配的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。