高可用与负载均衡(2)之四层负载均衡的概念

preface

网络协议的四层负载均衡其实指的就是传输层。我们分析下4层负载均衡的数据格式。

四层负载均衡

所谓的四层负载均衡,就是说由负载均衡设备或软件通过TCP/UDP的header信息进行直接判断由哪个实际的后端服务器来实际处理该连接的,从而转发。在我们生产环境下用的最多的就是对目标端口进行调度,如有名的LVS软件。

四层负载均衡时序图

四层负载均衡的一般网络时序图如下所示

简要说明下:

  1. LB在收到客户端TCP SYN包之后,既可以进行负载调度。
  2. 向通过某种算法选择的后端服务器发送SYN包
  3. 后端服务器收到SYN包以后,回复SYN+ACK
  4. 负载均衡服务器回复SYN+ACK给客户端
  5. 客户端回复ACK
  6. 负载均衡器发送ACK给后端服务器。此时客户端,负载均衡器,后端服务器都处于established状态。
  7. 客户端开始请求数据,经过LB到后端服务器上
  8. 服务器返回数据给LB,LB再给client。

四层负载均衡特点

  1. 模型简单。
    所谓模型简单就是LB不需要关系业务逻辑,只进行负载调度,网络转发以及后端服务器监控检测。
  2. 吞吐量大
    依据模型简单这个特点,CPU处理逻辑简单,相对于更高层次的负载均衡,如七层负载,可以提供更大的吞吐量
  3. 应用范围广
    工作在第四层,可以对任何应用做负载均衡,如DNS,HTTP,MYSQL等。

根据上面三个特点,应用场景主要如下:

  • 吞吐量较高的情况
  • 后端服务器的业务逻辑为他人私有逻辑,你无法触碰。
posted @   温柔易淡  阅读(951)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示