1.Haproxy介绍
HAProxy是一款提供高可用性、负载均衡以及基于 TCP(第四层) 和 HTTP(第七层) 应用的代理软件,HaProxy是一个特别适用于高可用性环境的TCP/HTTP开源的反向代理和负载均衡软件。在七层负载均衡方面的功能很强大(支持cookie track, header rewrite等等),支持双机热备,支持虚拟主机,支持健康检查,同时还提供直观的监控页面,可以清晰的监控服务集群的运行状况
2. Haproxy的配置
HAProxy的配通过程分为3个主要部分:
-
命令行参数,这是最优先的
-
global (全局)段,设置进程级参数;
-
代理配置段,通常位于default,listen,backend这样的形式内。
配置文件的语法是由关键字后跟可选的一个或者多个参数(参数之间有空格)组成。如果字符串中包含空格,必须用\
进行转义.
Haproxy配置段中分五大部分:
global
:全局参数配置,进程级的,用来控制Haproxy启动前的一些进程及系统设置defaults
:配置些默认的参数,可以被frontend,backend, listen段集成使用frontend
:用来匹配接收客户所请求的域名、uri等,并针对不同的匹配做不同的请求处理backend
:定义后端服务器集群,以及对后端服务器集群的一些权重、队列、连接数等选项的设置,类似于nginx中的upstream模块listen
:可以理解为frontend和backend的组合体。Haproxy配置文件的配通方法主要有两种,一种是由前端(frontend)和后端( backend)配置块组成,前端和后端都可以有多个。第二种方法是只有一个listen配置块来同时实现前端和后端。最常用也是推荐的方法为第一种,即frontend和backend的模式
3.实现反向代理及负载均衡
实验环境:
server1---haproxy
s