LVS实现负载均衡的原理与实践

作者 : 开心源码 本文共706个字,预计阅读时间需要2分钟 发布时间: 2022-05-11 共54人阅读

负载均衡(Load Balance,缩写LB)是一种网络技术,它在多个备选资源中做资源分配,以达到选择最优。这里有三个关键字:

  1. 网络技术,LB要处理的问题本质上是网络的问题,所以它实际上就是通过修改数据包中MAC地址、IP地址字段来实现数据包的“中转”;
  2. 资源,这里的资源不仅仅是计算机也能是交换机、存储设施等;
  3. 最优,它则是针对业务而言最优,所以一般负载均衡有很多算法;轮询、加权轮询、最小负载等;

LB是网络技术所以业内就参考OSI模型使用四层负载均衡、七层负载均衡进行分类。四层负载均衡工作在OSI的四层,这一层主要是TCP、UDP、SCTP协议,这种类型的负载均衡器不论数据包是什么,只是通过修改IP头部或者者以太网头部的地址实现负载均衡。七层负载均衡工作在OSI的七层,这一层主要是HTTP、Mysql等协议,这种负载均衡一般会把数据包内容解析出来后通过肯定算法找到合适的服务器转发请求。它是针对某个特定协议所以不通使用。比方Nginx只可以使用于HTTP而不适使用于Mysql。四层负载均衡真正传统意义上的负载均衡,它通过修改网络数据包“中转”请求;一般工作在操作系统的内核空间(kernel space),比方通过Linux的netfilter定义的hook改变数据包。七层负载均衡并不是严格意义上的负载均衡,它必需解析出数据包的内容,根据内容来做相关的转发(比方做Mysql的读写分离);一般工作在使用户空间(user space),比方通过Nginx、Mysql Proxy、Apache它们都是实现某个具体协议,很多资料都称这种软件叫代理商(Proxy)。

实现LB的问题

无论哪种负载均衡都能笼统为下面的图形:

LVS实现负载均衡的原理与实践

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » LVS实现负载均衡的原理与实践

发表回复