负载均衡详细概念介绍之(四层和七层实现)

embedded/2024/9/24 19:13:32/

目录

一、负载均衡介绍

1.1什么是负载均衡

​编辑 1.2 为什么要用负载均衡

 二、负载均衡的类型

2.1 通过一些硬件实现

 2.2 四层负载均衡

2.3 七层负载均衡 

三、四层和七层的区别 及特点


一、负载均衡介绍

1.1什么是负载均衡

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

 1.2 为什么要用负载均衡

使用负载均衡有以下几点好处:

  • Web服务器的动态水平扩展-->对用户无感知
  • 增加业务并发访问及处理能力-->解决单服务器瓶颈问题
  • 节约公网IP地址-->降低IT支出成本
  • 隐藏内部服务器IP-->提高内部服务器安全性
  • 配置简单-->固定格式的配置文件
  • 功能丰富-->支持四层和七层,支持动态下线主机
  • 性能较强-->并发数万甚至数十万

 二、负载均衡的类型

2.1 通过一些硬件实现

F5 --------美国F5网络公司
Netscaler---------美国思杰公司
Array-------------------华耀
AD-1000--------深信

 2.2 四层负载均衡

1.通过ip+port决定负载均衡的去向。
2.对流量请求进行NAT处理,转发至后台服务器
3.记录tcp、udp流量分别是由哪台服务器处理,后续该请求连接的流量都通过该服务器处理。
4.支持四层的软件
        Ivs:重量级四层负载均衡
        Nginx:轻量级四层负载均衡器,可缓存。(nginx四层是通过upstream模块)Haproxy:模拟四层转发。 

2.3 七层负载均衡 

1.通过虚拟ur|或主机ip进行流量识别,根据应用层信息进行解析,决定是否需要进行负载均衡

2.代理后台服务器与客户端建立连接,如nginx可代理前后端,与前端客户端tcp连接,与后端服务器建立tcp连接。
3.支持7层代理的软件:
        Nginx:基于http协议(nginx七层是通过proxy_pass)
        Haproxy:七层代理,会话保持、标记、路径转移等。 

三、四层和七层的区别 及特点

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

  • 四层的负载均衡,就是通过发布三层的IP地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行NAT处理,转发至后台服务器,并记录下这个TCP或者UDP的流量是由哪台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器处理。
  • 七层的负载均衡,就是在四层的基础上(没有四层是绝对不可能有七层的),再考虑应用层的特征,比如同一个Web服务器负载均衡,除了根据VP加80端口辨别是否需要处理的流量,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。 

特点:

  1. 分层位置:四层负载均衡在传输层及以下,七层负载均衡在应用层及以下
  2. 性能 :四层负载均衡架构无需解析报文消息内容,在网络吞吐量与处理能力上较高:七层可支持解析应用层报文消息内容,识别URL、Cookie、HTTP header等信息。
  3. 原理 :四层负载均衡是基于ip+port;七层是基于虚拟的URL或主机IP等。
  4. 功能类比:四层负载均衡类似于路由器;七层类似于代理服务器
  5. 安全性:四层负载均衡无法识别DDoS攻击;七层可防御SYN Cookie/Flood攻击

http://www.ppmy.cn/embedded/94076.html

相关文章

SQL Zoo 3.SELECT from Nobel Tutorial

1.Change the query shown so that it displays Nobel prizes for 1950.(显示1950年的诺贝尔奖) SELECT yr, subject, winnerFROM nobelWHERE yr 1950 2.Show who won the 1962 prize for literature.(谁获得了1962年的文学奖) SELECT winnerFROM nobelWHERE yr 1962AND s…

宿主机与容器(docker)之间的数据共享

目录 一台宿主机上的容器和宿主机之间的数据共享 创建卷 进入Docker的卷的存储位置 进入卷ep1的数据存储位置 创建容器并挂载至卷ep1上 测试: 进入容器内部查看 一台宿主机上的多个容器之间的数据共享 挂载新的docker容器在该卷上 查看修改的数据是否一致…

使用 Python 执行 JavaScript

案例引入 网站: https://spa7.scrape.center 这里是一个简单的 NBA 球星的网站, 用卡片形式展示了一些球星的基本信息。另外,每张卡片其实都有一个加密字符串,这个加密字符串其实和球星的信息是由关联的, 并且每个球星…

深入探讨安全验证:OAuth2.0、Cookie与Session、JWT令牌、SSO与开放授权平台设计

什么是认证和授权?如何设计一个权限认证框架? 认证和授权是安全验证中的两个重要概念。认证是确认身份的过程,用于建立双方之间的信任关系。只有在认证成功的情况下,双方才可以进行后续的授权操作。授权则是在认证的基础上&#…

ES6对数据类型都做了那些优化

ES6 对 String 字符串类型做优化: ES6 新增了字符串模板,在拼接大段字符串时,用反斜杠(、)取代以往的字符串相加的形 式, 能保留所有空格和换行,使得字符串拼接看起来更加直观, 更加优雅 ES6 对 Array 数…

[Qt][布局管理器]详细讲解

目录 0.为什么?1.注意事项2.垂直布局3.水平布局4.网格布局5.表单布局6.Spacer 0.为什么? 之前使⽤Qt在界⾯上创建的控件,都是通过"绝对定位"的⽅式来设定的,每个控件的所在位置,都需要计算坐标,…

电子器件的液冷-EAK液冷电阻器

随着科技的进步和制作工艺的发展,电能的使用逐步渗透到人类社会生活的方方面面,人们开始憧憬对海洋、天空甚至太空的进一步探索开发各种高性能、高功率的电子设备层出不穷。因此,对元器件冷却而言,不但需要越来越高的制冷效率以保…

基于单片机的智能风扇设计

摘 要: 传统风扇无法根据周围环境的温度变化进行风速的调整,必须人为地干预才能达到需求 。 本文基于单片机的智能风扇主要解决以往风扇存在的问题,其有两种工作模式: 手动操作模式和自动运行模式,人们可以根据需要进行模式选择。 在自动运行…