haproxy 负载均衡

1. haproxy简介

HAProxy是法国开发者 威利塔罗(Willy Tarreau) 在2000年使用C语言开发的一个开源软件,是一款具备高并发(一万以上)、高性能的TCP和HTTP负载均衡器,支持基于cookie的持久性,自动故障切换,支持正则表达式及web状态统计,目前最新TLS版本为9.0

HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。

HAProxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。

HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。HAProxy的社区非常活跃,版本更新快速。最关键的是,HAProxy具备媲美商用负载均衡器的性能和稳定性。

因为HAProxy的上述优点,它当前不仅仅是免费负载均衡软件的首选,更几乎成为了唯一选择。

1.1 核心功能

  • 负载均衡:L4和L7两种模式,支持RR/静态RR/LC/IP Hash/URI Hash/URL_PARAM Hash/HTTP_HEADER Hash等丰富的负载均衡算法
  • 健康检查:支持TCP和HTTP两种健康检查模式
  • 会话保持:对于未实现会话共享的应用集群,可通过Insert Cookie/Rewrite Cookie/Prefix Cookie,以及上述的多种Hash方式实现会话保持
  • SSL:HAProxy可以解析HTTPS协议,并能够将请求解密为HTTP后向后端传输
  • HTTP请求重写与重定向
  • 监控与统计:HAProxy提供了基于Web的统计信息页面,展现健康状态和流量数据。基于此功能,使用者可以开发监控程序来监控HAProxy的状态

1.2 haproxy的关键特性

  • 高性能
    通常情况下,HAProxy自身只占用15%的处理时间,剩余的85%都是在系统内核层完成的
  • 高稳定性
    一旦成功启动,除非操作系统或硬件故障,否则就不会崩溃

2. haproxy部署安装

haproxy软件包下载官网:https://www.haproxy.org//

//安装依赖包
[root@localhost ~]# yum -y install make gcc pcre-devel bzip2-devel openssl-devel systemd-devel

//创建haproxy用户
[root@localhost ~]# useradd -r -M -s /sbin/nologin haproxy

//解压下载好的安装包
[root@localhost src]# ls
debug  haproxy-2.4.0.tar.gz  kernels
[root@localhost src]# tar xf haproxy-2.4.0.tar.gz -C /usr/src/
[root@localhost src]# ls
debug  haproxy-2.4.0  haproxy-2.4.0.tar.gz  kernels
[root@localhost src]# 

//编译安装
[root@localhost src]# cd haproxy-2.4.0/
[root@localhost haproxy-2.4.0]# 
[root@localhost haproxy-2.4.0]# make clean
[root@localhost haproxy-2.4.0]# make -j $(nproc) TARGET=linux-glibc \
> USE_OPENSSL=1 USE_PCRE=1 USE_SYSTEMD=1
[root@localhost haproxy-2.4.0]# make install prefix=/usr/local/haproxy
//配置内核参数
[root@localhost ~]# echo 'net.ipv4.ip_nonlocal_bind = 1' >>  /etc/sysctl.conf
[root@localhost ~]# echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
[root@localhost ~]# sysctl  -p 
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
[root@localhost ~]# 

你可能感兴趣的:(运维,测试工具)