文章目录

  • Haproxy是什么
  • 负载均衡的区别
  • 四层负载均衡是什么
  • 七层负载均衡是什么
  • 七层负载均衡和四层负载的不同点
  • HAProxy的配置
  • listen配置同时实现前端和后端
  • 如何采集haproxy的日志


Haproxy是什么

haproxy 中四层配置健康检查f方法_IP


HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。

负载均衡的区别

四层就是基于IP+端口的负载均衡,例如lvs。

七层就是基于URL等应用层信息的负载均衡

还有基于MAC地址的二层负载均衡

基于IP地址的三层负载均衡

(考虑OSI七层模型)

二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;

三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;

四层通过虚拟IP+端口接收请求,然后再分配到真实的服务器;

七层通过虚拟的URL或主机名接收请求,然后再分配到真实的服务器。

所谓的四到七层负载均衡,就是在对后台的服务器进行负载均衡时,依据四层的信息或七层的信息来决定怎么样转发流量。

四层负载均衡是什么

四层的负载均衡,就是通过发布三层的IP地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行NAT处理,转发至后台服务器,并记录下这个TCP或者UDP的流量是由哪台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器处理。

七层负载均衡是什么

七层的负载均衡,就是在四层的基础上(没有四层是绝对不可能有七层的),再考虑应用层的特征,比如同一个Web服务器的负载均衡,除了根据VIP加80端口辨别是否需要处理的流量,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。

举个例子,如果你的Web服务器分成两组,一组是中文语言的,一组是英文语言的,那么七层负载均衡就可以当用户来访问你的域名时,自动辨别用户语言,然后选择对应的语言服务器组进行负载均衡处理。

七层负载均衡和四层负载的不同点

1.技术原理上

四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。
七层负载均衡,也称为“内容交换”,也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

4层负载均衡在中间传输层执行,它处理消息的传递,但不考虑消息的内容。

7层负载均衡不同于4层负载均衡,它在高级应用层上执行,会处理每个消息的实际内容,它可以根据消息内容(如URL或cookie)做出负载均衡决策。随后,7层负载均衡与选定上有服务器建立新的TCP连接并将请求写入服务器。

2.应用场景

七层应用负载的好处,是使得整个网络更智能化。例如访问一个网站的用户流量,可以通过七层的方式,将对图片类的请求转发到特定的图片服务器并可以使用缓存技术;将对文字类的请求可以转发到特定的文字服务器并可以使用压缩技术。

3.安全性

网络中最常见的SYN Flood攻击,即黑客控制众多源客户端,使用虚假IP地址对同一目标发送SYN攻击,通常这种攻击会大量发送SYN报文,耗尽服务器上的相关资源,以达到Denial of Service(DoS)的目的。

从技术原理上也可以看出,四层模式下这些SYN攻击都会被转发到后端的服务器上

七层模式下这些SYN攻击自然在负载均衡设备上就截止,不会影响后台服务器的正常运营。另外负载均衡设备可以在七层层面设定多种策略,过滤特定报文。

HAProxy的配置

haproxy 中四层配置健康检查f方法_负载均衡_02

haproxy 中四层配置健康检查f方法_服务器_03

listen配置同时实现前端和后端

实验背景:

172.25.2.10 server1  haproxy反向代理端
172.25.2.11 serevr2  后端web1
172.25.2.254 serevr3  后端web2
172.25.2.254  真机测试

关闭selinux和firewalld ,后面几个关于haproxy的实验,都在此环境下

1.serevr1中

haproxy 中四层配置健康检查f方法_IP_04


2.

haproxy 中四层配置健康检查f方法_IP_05

haproxy 中四层配置健康检查f方法_服务器_06

haproxy 中四层配置健康检查f方法_服务器_07

2.注释掉fronted和backend的模块

haproxy 中四层配置健康检查f方法_服务器_08

3.添加配置内容

haproxy 中四层配置健康检查f方法_负载均衡_09

4.启动haproxy

haproxy 中四层配置健康检查f方法_IP_10

5.

haproxy 中四层配置健康检查f方法_IP_11


6.在serevr2和serevr3中安装httpd

haproxy 中四层配置健康检查f方法_负载均衡_12

haproxy 中四层配置健康检查f方法_IP_13

haproxy 中四层配置健康检查f方法_IP_14

7.真机浏览器测试访问

haproxy 中四层配置健康检查f方法_负载均衡_15

访问到监控页面

haproxy 中四层配置健康检查f方法_负载均衡_16

8.真机cur测试,发现负载均衡轮巡实现

haproxy 中四层配置健康检查f方法_IP_17

如何采集haproxy的日志

haproxy 中四层配置健康检查f方法_负载均衡_18

haproxy 中四层配置健康检查f方法_服务器_19

打开udp端口

haproxy 中四层配置健康检查f方法_IP_20

haproxy 中四层配置健康检查f方法_IP_21

haproxy 中四层配置健康检查f方法_负载均衡_22

local 1~7 自定义的日志类型在日志采集文件中

haproxy 中四层配置健康检查f方法_IP_23

日志设备(类型).(连接符号)日志级别 日志处理方式(action)

haproxy 中四层配置健康检查f方法_服务器_24