四层负载均衡初识

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第15天,点击查看活动详情

四层负载均衡

问题引入

在运营商处租用100.1.2.3的公网IP,在企业内部合理使用

现状:直接找一个物理机,ifconfig将网卡配上这个IP,起server监听即可

当应用多,起多个server监听不同的端口即可

租多个公网ip(数量有限)

4层负载均衡

基于IP+端口,利用某种算法将报文转发给某个后端服务器,实现负载均衡地落到后端服务器上。

有三个主要功能

  1. 解耦vip和rs
  2. NAT
  3. 防攻击:syn proxy

image-20220712134821944

常见的调度算法原理

RR轮询:Round Robin,将所有的请求平均分配给每个真实服务器RS

加权RR轮询:给每个后端服务器一个权值比例,将请求按照比例分配

最小连接:把新的连接请求分配到当前连接数最小的服务器

五元组hash:根据sip、sport、proto、dip、dport对静态分配的服务器做散列取模

缺点:当后端某个服务器故障后,所有连接都重新计算,影响整个hash 环

一致性hash:只影响故障服务器上的连接session,其余服务器上的连接不受影响

常见的实现方式FULLNAT

RS如何知道真实的CIP:

通过TCP option字段传递然后通过特殊的内核模块反解

image-20220712140407953

4层负载均衡特点

  • 大部分都是通过dpdk技术实现,技术成熟,大厂都在用
  • 纯用户态协议栈,kernel bypass,消除协议栈瓶颈
  • 无缓存,零拷贝,大页内存(减少cache miss)
  • 仅针对4层数据包转发,小包转发可达到限速,可承受高cps

4层负载均衡的使用

image-20220712153903957

posted @ 2022-10-15 13:02  Luciferpluto  阅读(0)  评论(0)    收藏  举报  来源