HAProxy常见的安装方式
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.常见负载均衡软件概述
1>.什么是负载均衡
负载均衡(Load Balance,简称LB)是一种服务或基于硬件设备等实现的高可用反向代理技术,负载均衡将特定的业务(web服务、网络流量等)分担给指定的一个或多个后端特定的服务器或设备,从而提高了公司业务的并发处理能力、保证了业务的高可用性、方便了业务后期的水平动态扩展。 博主推荐阅读: https://yq.aliyun.com/articles/1803
2>.为什么使用负载均衡
Web服务器的动态水平扩展
对用户无感知
增加业务并发访问及处理能力
解决单服务器瓶颈问题(单点故障)
节约公网IP地址
降低IT支出成本
隐藏内部服务器IP
提高内部服务器安全性
配置简单
固定格式的配置文件
功能丰富
支持四层和七层,支持动态下线主机
性能较强
并发数万甚至数十万
3>.常见有哪些负载均衡
软件负载(一般选择开源软件):
四层(可以和硬件防火墙相抗衡的性能):
LVS(Linux Virtual Server,生产环境中大多使用DR模式性能要比HAProxy强)
HAProxy(High Availability Proxy,一般中小型公司使用HAproxy基本上够用了)
Nginx(需要1.9版本以上才支持)
……
七层:
HAProxy(和Nginx一样,都支持基于四层和七层的负载均衡)
Nginx(生产环境中小型企业一般使用HAProxy做四层的负载均衡,使用Nginx做七层的负载均衡)
……
硬件负载(需要花钱):
F5
Netscaler
……
4>.典型的负载均衡应用场景
四层(传输层,一般基于监听本地端口实现负载均衡):
Redis
Mysql
RabbitMQ
Memcache
......
七层(应用层,直接反向代理到后端服务器):
Nginx
Tomcat
Apache
PHP
图片
动静分离
API
......
二.HaProxy概述
1>.什么是HAProxy
HAProxy是法国开发者Willy Tarreau开发的一个开源软件,是一款具备高并发、高性能的TCP和HTTP负载均衡器,支持基于cookie的持久性,自动故障切换,支持正则表达式及web状态统计。 官网: http://www.haproxy.org https://www.haproxy.com 博主推荐阅读: https://cbonte.github.io/haproxy-dconv/
2>.调度器集群(Load Balance Cluster,简称LB Cluster)
四层: lvs nginx(stream模式且nginx1.9.0或更新版本) haproxy(mode tcp) 七层: http协议: nginx(http), haproxy(mode http), httpd... 关于四层和七层的区别,博主推荐阅读: https://www.cnblogs.com/yinzhengjie/p/12127959.html
3>.HAProxy功能
HAProxy是TCP/ HTTP反向代理服务器(不支持反向代理),尤其适合于高可用性(需要依赖于keepalive软件)高并发环境 可以针对HTTP请求添加cookie,进行路由后端服务器 可平衡负载至后端服务器,并支持持久连接(可以基于用户的源地址进行hash) 支持基于cookie进行调度 支持所有主服务器故障切换至备用服务器 支持专用端口实现监控服务 支持不影响现有连接情况下停止接受新连接请求 可以在双向添加,修改或删除HTTP报文首部 支持基于pattern实现连接请求的访问控制 通过特定的URI为授权用户提供详细的状态信息 历史版本更新功能:1.4 1.5 1.6 1.7 1.8 1.9 2.0-dev 1.8:多线程,HTTP/2缓存……(生产环境中推荐使用该版本) 1.7:服务器动态配置,多类型证书…… 1.6:DNS解析支持,HTTP连接多路复用…… 1.5:开始支持SSL,IPV6,keepalived……(CentOS 7.6的yum仓库默认支持的版本,生产环境中并不推荐使用)
三.yum安装HAProxy
1>.CentOS安装HAProxy(温馨提示:较新haproxy1.8版本中,比如动态禁用后端服务器,日志管理等功能支持的并没有haproxy1.5系列要友好)
[root@node101.yinzhengjie.org.cn ~]# yum list haproxy Loaded plugins: fastestmirror Determining fastest mirrors * base: mirrors.huaweicloud.com * epel: mirrors.yun-idc.com * extras: mirrors.huaweicloud.com * updates: mirrors.huaweicloud.com Available Packages haproxy.x86_64 1.5.18-9.el7 base [root@node101.yinzhengjie.org.cn ~]#