问题背景
- 在运营商处租用的公网IP,如何在企业内部使用最合理?
- 怎样尽可能充分的利用和管理有限的公网IP资源?
四层负载均衡:传输层
-
基于IP+端口,利用某种算法将报文转发给某个后端服务器,实现负载均衡地落到后端服务器上
-
主要针对TCP、UDP流量的转发
-
功能
-
解耦vip和rs
-
NAT
-
防攻击:syn proxy,避免物理机直接暴露在公网
-
常见的调度算法原理
-
RR:Round-Robin 将所有的请求平均分配给每个真实服务器RS
-
加权RR轮询:给每个后端服务器一个权重比例,将请求按照比例分配
-
最小连接:把新的连接请求分配给当前连接数最小的服务器
-
五元组hash:根据sip、sport、proto、dip、dport对静态分配的服务器做散列取模
-
缺点时当某个服务器故障时,需要所有的连接都重新计算,会影响整个hash环
-
一致性hash:只影响故障服务器上的连接session,其余服务器上的连接不受影响
-
常见的实现方式
-
FULLNA
问题背景
-
多个外部站点想使用同一个端口
-
换个问法:7层相关的配置需要,怎么做
-
SSL卸载
-
请求重定向
-
路径添加匹配策略
-
Header编辑
-
跨域支持
-
协议支持:websocket、grpc、quic
7层负载均衡:应用层
-
Nginx
-
模块化设计,较好的扩展性和可靠性
-
基于master worker架构
-
支持热部署;可以在线升级
-
不停机更新配置文件、更换日志文件、更新服务器二进制
-
较低内存消耗:1万个keep-alive连接模式下的非活动连接仅消耗2.5m内存
-
事件驱动:异步非阻塞模型,支持aio,mmap(内存映射)
-
事件驱动模型