Haproxy之配置基于listen方式的反向代理和负载均衡

1.Haproxy介绍

(1)HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件;适用于负载大的web站点,这些站点通常又需要会话保持或七层处理。它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上

(2)HAProxy 实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接;事件驱动模型因为在有更好的资源和时间管理的用户端(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。

(3)HAProxy 支持连接拒绝 : 因为维护一个连接的打开的开销是很低的,有时我们很需要限制攻击蠕虫(attack bots),也就是说限制它们的连接打开从而限制它们的危害,这也是其他负载均衡没有的优点

(4)HAProxy 支持全透明代理(已具备硬件防火墙的典型特点): 可以用客户端IP地址或者任何其他地址来连接后端服务器.

HAproxy配置文件详解

配置文件主要分为5部分:

global:全局变量的参数,属于进程配置,通常与操作有关
defaults:配置默认参数,这些参数可以被用到frontend,backend,Listen组件
frontend:接收请求的前端虚拟节点,Frontend可以更加规则直接指定具体使用后端的backend:后端服务集群的配置,是真实服务器,一个Backend对应一个或者多个实体服务器
Listen :frontend和backend的组合体

2.Haproxy负载均衡的配置

实验环境:
Haproxy服务器 172.25.254.1(server1)
后端服务器:172.25.254.2(server2)
172.25.254.3(server3)

(1)下载软件
Haproxy之配置基于listen方式的反向代理和负载均衡(2)修改配置文件
Haproxy之配置基于listen方式的反向代理和负载均衡其中,haproxy监控页面的端口为8080
监听的端口为80
也即后端server2和server3的httpd服务
(3)启动服务

Haproxy之配置基于listen方式的反向代理和负载均衡Haproxy之配置基于listen方式的反向代理和负载均衡(4)在后端的server2和server3上下载httpd服务,建立发布页面
(5)测试(haproxy监控页面)
Haproxy之配置基于listen方式的反向代理和负载均衡(6)测试负载均衡
Haproxy之配置基于listen方式的反向代理和负载均衡(7)停掉server2的httpd服务,再次测试,只有server3工作
Haproxy之配置基于listen方式的反向代理和负载均衡(8)监控页面也显示server2这个web1服务器下线
Haproxy之配置基于listen方式的反向代理和负载均衡

3.创建haproxy日志

(1)vim /etc/rsyslog.conf
Haproxy之配置基于listen方式的反向代理和负载均衡Haproxy之配置基于listen方式的反向代理和负载均衡(2)重启rsyslog服务,查看haproxy日志
Haproxy之配置基于listen方式的反向代理和负载均衡