← 返回文章列表
POST / 2024-11-21

负载均衡

负载均衡算法 1. 随机 1. ip hash 1. 轮询 1. 最小连接 轮询、随机、最小活跃数、源地址哈希、一致性哈希。 加权随机 加权轮询 七层 四层 所谓四层即运输层,就是基于 IP + 端口的负载均衡; 七层即应用层,就是基于 URL 等应用层信息的负载均衡; 同理,还

负载均衡算法

  1. 随机

  2. ip hash

  3. 轮询

  4. 最小连接

轮询、随机、最小活跃数、源地址哈希、一致性哈希。

加权随机

加权轮询

七层

四层

所谓四层即运输层,就是基于 IP + 端口的负载均衡;

七层即应用层,就是基于 URL 等应用层信息的负载均衡;

同理,还有基于 MAC 地址的二层负载均衡和基于 IP 地址的三层负载均衡。

https://cloud.tencent.com/developer/article/1082047

二层负载均衡会通过一个虚拟 MAC 地址接收请求,然后再分配到真实的 MAC 地址;

三层负载均衡会通过一个虚拟 IP 地址接收请求,然后再分配到真实的 IP 地址;

四层通过虚拟 IP + 端口接收请求,然后再分配到真实的服务器;

七层通过虚拟的 URL 或主机名接收请求,然后再分配到真实的服务器。

所谓的四到七层负载均衡,就是在对后台的服务器进行负载均衡时,依据四层的信息或七层的信息来决定怎么样转发流量。

比如四层的负载均衡,就是通过发布三层的 IP 地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡,

对需要处理的流量进行 NAT 处理,转发至后台服务器,并记录下这个 TCP 或者 UDP 的流量是由哪台服务器处理的,

后续这个连接的所有流量都同样转发到同一台服务器处理。

七层的负载均衡,就是在四层的基础上(没有四层是绝对不可能有七层的),再考虑应用层的特征, 比如同一个 Web 服务器的负载均衡,除了根据 VIP 加 80 端口辨别是否需要处理的流量, 还可根据七层的 URL、浏览器类别、语言来决定是否要进行负载均衡。

https://cloud.tencent.com/developer/article/1026930?from=article.detail.1082047

1)二层负载均衡(mac)

根据OSI模型分的二层负载,一般是用虚拟mac地址方式,外部对虚拟MAC地址请求,负载均衡接收后分配后端实际的MAC地址响应)

2)三层负载均衡(ip)

一般采用虚拟IP地址方式,外部对虚拟的ip地址请求,负载均衡接收后分配后端实际的IP地址响应)

3)四层负载均衡(tcp)

在三次负载均衡的基础上,用ip+port接收请求,再转发到对应的机器。

4)七层负载均衡(http)

根据虚拟的url或IP,主机名接收请求,再转向相应的处理服务器)。

DNS 重定向的 优点:

使用简单:负载均衡工作,交给 DNS 服务器处理,省掉了负载均衡服务器维护的麻烦

提高性能:可以支持基于地址的域名解析,解析成距离用户最近的服务器地址(类似 CDN 的原理),可以加快访问速度,改善性能;

DNS 重定向的 缺点:

可用性差:DNS 解析是多级解析,新增/修改 DNS 后,解析时间较长;解析过程中,用户访问网站将失败;

扩展性低:DNS 负载均衡的控制权在域名商那里,无法对其做更多的改善和扩展;

维护性差:也不能反映服务器的当前运行状态;支持的算法少;不能区分服务器的差异(不能根据系统与服务的状态来判断负载)。

作者:vivo互联网技术

链接:https://juejin.cn/post/6970950695117651976

来源:稀土掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。