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 ~]# 
[root@node101.yinzhengjie.org.cn ~]# yum list haproxy

相关文章: