负载均衡总结

四层负载均衡(基于IP+端口的负载均衡)

实现四层负载均衡的软件有:

  • F5:硬件负载均衡器,功能很好,但是成本很高。
  • lvs:重量级的四层负载软件
  • nginx:轻量级的四层负载软件,带缓存功能,正则表达式较灵活(1.9)
  • haproxy:模拟四层,七层转发,较灵活



七层的负载均衡(基于虚拟的URL或主机IP的负载均衡)

  1. 在四层负载均衡的基础上(没有四层是绝对不可能有七层的),再考虑应用层的特征,比如同一个Web服务器的负载均衡,除了根据VIP加80端口辨别是否需要处理的流量,还可根据七层的URL、浏览器类别来决定是否要进行负载均衡。
  2. 实现七层负载均衡的软件有:
    • haproxy:天生负载均衡技能,全面支持七层代理,会话保持,标记,路径转移;
    • nginx:只在http协议和mail协议上功能比较好,性能与haproxy差不多;
    • apache:功能较差
    • Mysql proxy:功能尚可。


参考: https://www.cnblogs.com/readygood/p/9757951.html 四层和七层负载均衡的特点及常用负载均衡 nginx, haproxy, Lvs


https://www.cnblogs.com/csguo/p/7542944.html arp协议

四层负载与七层负载的区别

四层:

  • 基于IP地址加端口,虚拟IP+端口接收请求,然后再分配到真实的服务器
  • 配置负载均衡设备上服务类型为tcp/udp,负载均衡设备将只解析到4层,负载均衡设备与client三次握手之后就会和RS建立连接;
  • 四层监听关注的重点是长连接的并发连接数
  • 类似 路由器
  • 复杂的低,容易配置
  • 安全性相对要低
  • 高性能,无需解析内容
  • 缺点: 软件本身不支持正则表达式处理,不能做动静分离

七层:

  • 基于URL,虚拟的URL或主机名接收请求,然后再分配到真实的服务器
  • 配置负载均衡设备服务类型为http/ftp/https等,负载均衡设备将解析报文到7层,在负载均衡设备与client三次握手之后,只有收到对应七层报文,才会跟RS建立连接。
  • 七层监听关注的重点是QPS的性能
  • 性能: 中,需要算法识别 URL,Cookie 和 HTTP head 等信息
  • 安全性高
  • 额外功能 会话保持,图片压缩,等
  • 类似代理服务器
  • 缺点: 对设备要求高

总结:从上面的对比看来四层负载与七层负载最大的区别就是效率与功能的区别。四层负载架构设计比较简单,无需解析具体的消息内容,在网络吞吐量及处理能力上会相对比较高,而七层负载均衡的优势则体现在功能多,控制灵活强大。在具体业务架构设计时,使用七层负载或者四层负载还得根据具体的情况综合考虑
https://www.cnblogs.com/la0jin/p/15027613.html 四种模式

LVS相关术语

  • DS:Director Server 指的是前端负载均衡器节点
  • RS:Real Server 后端真实工作的服务
  • VIP: 外部 直接面向用户请求,作为用户请求得目标的IP地址
  • DIP:Director Server IP,主要用于内部主机通讯的IP地址
  • RIP:Real Server IP,后端服务器的IP地址
  • CIP:Client IP,访问客户端的IP地址

lvs四种工作模式

  • dr:直连路由模式
  • tun:隧道模式
  • nat:路由转发模式
  • fullnat模式
相关推荐
DY009J16 分钟前
深度探索Kali Linux的精髓与实践应用
linux·运维·服务器
什么鬼昵称1 小时前
Pikachu- Over Permission-垂直越权
运维·服务器
码农小白1 小时前
linux驱动:(22)中断节点和中断函数
linux·运维·服务器
4647的码农历程1 小时前
Linux网络编程 -- 网络基础
linux·运维·网络
醉颜凉2 小时前
银河麒麟桌面操作系统V10 SP1:取消安装应用的安全授权认证
运维·安全·操作系统·国产化·麒麟·kylin os·安全授权认证
C++忠实粉丝2 小时前
Linux环境基础开发工具使用(2)
linux·运维·服务器
康熙38bdc3 小时前
Linux 环境变量
linux·运维·服务器
存储服务专家StorageExpert3 小时前
DELL SC compellent存储的四种访问方式
运维·服务器·存储维护·emc存储
大G哥4 小时前
记一次K8S 环境应用nginx stable-alpine 解析内部域名失败排查思路
运维·nginx·云原生·容器·kubernetes
醉颜凉4 小时前
银河麒麟桌面操作系统修改默认Shell为Bash
运维·服务器·开发语言·bash·kylin·国产化·银河麒麟操作系统