四层负载均衡初识
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第15天,点击查看活动详情
四层负载均衡
问题引入
在运营商处租用100.1.2.3的公网IP,在企业内部合理使用
现状:直接找一个物理机,ifconfig将网卡配上这个IP,起server监听即可
当应用多,起多个server监听不同的端口即可
租多个公网ip(数量有限)
4层负载均衡
基于IP+端口,利用某种算法将报文转发给某个后端服务器,实现负载均衡地落到后端服务器上。
有三个主要功能
- 解耦vip和rs
- NAT
- 防攻击:syn proxy
常见的调度算法原理
RR轮询:Round Robin,将所有的请求平均分配给每个真实服务器RS
加权RR轮询:给每个后端服务器一个权值比例,将请求按照比例分配
最小连接:把新的连接请求分配到当前连接数最小的服务器
五元组hash:根据sip、sport、proto、dip、dport对静态分配的服务器做散列取模
缺点:当后端某个服务器故障后,所有连接都重新计算,影响整个hash 环
一致性hash:只影响故障服务器上的连接session,其余服务器上的连接不受影响
常见的实现方式FULLNAT
RS如何知道真实的CIP:
通过TCP option字段传递然后通过特殊的内核模块反解
4层负载均衡特点
- 大部分都是通过dpdk技术实现,技术成熟,大厂都在用
- 纯用户态协议栈,kernel bypass,消除协议栈瓶颈
- 无缓存,零拷贝,大页内存(减少cache miss)
- 仅针对4层数据包转发,小包转发可达到限速,可承受高cps

浙公网安备 33010602011771号