haproxy七层代理:一、基础知识

haproxy七层代理

一,负载均衡

1.1定义

负载均衡:简称LB,是一种服务或基于硬件设备等实现的高可用反向代理技术,负载均衡将特定的业务(web服务、网络流量等)分担给指定的一个或多个后端特定的服务器或设备,从而提高了公司业务的并发处理能力、保证了业务的高可用性、方便了业务后期的水平动态扩展。

  • 负载均衡集群为企业需求提供了可解决容量问题的有效方案。负载均衡集群使负载可以在计算机集群中尽可能平均地分摊处理

  • 通常包括应用程序处理负载和网络流量负载,每个节点都可以承担一定的处理负载,并且可以实现处理负载在节点之间的动态分配,以实现负载均衡。

1.2负载均衡的优点

  • Web服务器的动态水平扩展-->对用户无感知、

  • 增加业务并发访问及处理能力-->解决单服务器瓶颈问题

  • 节约公网IP地址-->降低IT支出成本

  • 隐藏内部服务器IP-->提高内部服务器安全性

  • 配置简单-->固定格式的配置文件

  • 功能丰富-->支持四层和七层,支持动态下线主机

  • 性能较强-->并发数万甚至数十万

1.3 负载均衡集群技术实现

  • 负载均衡技术类型:基于 4 层或者7负载均衡技术

  • 负载均衡实现方式:硬件设备、软件负载均衡

  • 软件负载均衡产品: LVS(Linux Virtual Server)、 haproxy、Nginx、Ats(apache traffic server)

实现原理图:

负载均衡分类:

  1. 二层负载均衡(mac):数据链路层 mac地址

    一般是用虚拟mac地址方式,外部对虚拟MAC地址请求,负载均衡接收后分配后端实际的MAC地址响应。

  2. 三层负载均衡(ip):网络层 ip地址

    一般采用虚拟IP地址方式,外部对虚拟的ip地址请求,负载均衡接收后分配后端实际的IP地址响应。

  3. 四层负载均衡(tcp):传输层 port

    在三层负载均衡的基础上,用ip+port接收请求,再转发到对应的机器。

  4. 七层负载均衡(http):应用层 url ip+port

    根据虚拟的url或IP,主机名接收请求,再转向相应的处理服务器

四层负载均衡

  • 工作流程:首先主要通过报文中的目标ip地址和端口,接着上负载均衡设备设置服务器选择方式(分发策略,轮询),记录tcp、udp流量走向,选择的内部服务器

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

  • 可提供四层负载均衡的软件:lvs(重量级)、Nginx(。轻量级、通过upstream模块实现)、haproxy (模拟4级转发,7级转发灵活)

七层负载均衡
  1. 首先通过虚拟Url或者主机进行流量识别,依据应用层进行信息分析,决定是否负载均衡,

  2. 若需要,则负载均衡设备在这种情况下,更类似于一个代理服务器。负载均衡和前端的客户端以及后端的服务器会分别建立TCP连接。所以此时的七层负载均衡明显的对负载均衡设备的要求更高,处理七层的能力也必然会低于四层模式的部署方式。

示意图:

  1. 实现七层负载均衡的软件有:

  • haproxy:全面支持四层,七层代理,会话保持,标记,路径转移;

  • nginx:只在http协议和mail协议上功能比较好,性能与haproxy差不多;

  • apache:功能较差

  • Mysql proxy:功能尚可。

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

  1. 分层位置:四层负载均衡在传输层及以下,七层负载均衡在应用层及以下

  2. 性能:四层负载均衡架构无需解析报文消息内容,在网络吞吐量与处理能力上较高:七层可支持解析应用层报文消息内容,识别URL、Cookie、HTTP header等信息。

  3. 原理:四层负载均衡是基于ip+port;七层是基于虚拟的URL或主机IP等。

  4. 功能类比:四层负载均衡类似于路由器;七层类似于代理服务器。

  5. 安全性:四层负载均衡无法识别DDoS攻击;七层可防御SYNCookie/Flood攻击

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值