学习笔记:将我的服务共享给客户(四)四层负载均衡|青训营;

75 阅读1分钟

了解了全站加速的方式,我们进入下一阶段的讨论:我们在运行商处租了一个公网IP地址,怎样使用才能够最合理?

什么是四层负载均衡?

基于IP和端口,利用某种算法均匀地将报文转发给后端服务器,令其均匀地落在服务器上。详细内容可以尝试点击此处,是我找的一些资料。 示意图如下,来自百度:

image.png

相关算法

  1. RR轮询: Round Robin,将所有的请求平均分配给每个真实服务器RS
  2. 加权RR轮询: 给每个后端服务器一个权值比例,将请求按照比例分配
  3. 最小连接: 把新的连接请求分配到当前连接数最小的服务器
  4. 五元组hash: 根据sip、sport、 proto、 dip、 dport对静态分配的服务器做散列取模缺点: 当后端某个服务器故障后,所有连接都重新计算,影响整个 hash 环
  5. 一致性hash:出现故障,其余服务器上的连接不受影响

RS怎么知道真实的CIP? 通过TCP/opinion字段传递,之后经过特殊内核模块反解,示意图来自课程。

1691209869349.png

特点

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

网络架构示意图来自课程:

1691210068084.png