负载均衡 | 学习笔记

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
全局流量管理 GTM,标准版 1个月
简介: 快速学习负载均衡,集群负载均衡的机制和实际使用时的一些配置问题

开发者学堂课程【高性能集群负载第二课时:负载均衡】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/804/detail/13877


负载均衡

 

内容简介:

一、      负载均衡简介

二、      常见的负载均衡方式

三、      常见算法

四、      拓展算法

五、      其他负载平衡

 

一、负载均衡简介

负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,可以单独对外提供服务而无需其他服务的辅助。

平均或不平均的分配人物,避免服务器压力太大或太小


二、常见的负载均衡方式

1.用户手动选择

在游戏、下载站点,往往会采用分区分服的方式,人工实现负载均衡。

(1)优势:实现方式简单,只要展示所有节点即可。

(2)劣势:负载均衡不均匀,可能出现某些节点压力过大,有些节点毫无压力。

image.png

2.DNS轮询均衡

大部分DNS服务商都支持为同一主机名设定多个不同的A记录,DNS服务器在解析的时候,会根据A记录的顺序,随机分配不同的服务器。

(1)优势:实现方式简单,用户无感知。

(2)劣势:可靠性低,出问题修复慢;负载均衡不均匀,可能出现某些节点压力过大,有些节点毫无压力。

3.四层/七层负载均衡

对于可靠性较高的业务,会通过四层/七层负载均衡设备来完成服务器的负载均衡。

(1)优势:可靠性高,更新速度快,提供健康检查。

(2)劣势:硬件实现需要购买专属硬件;软件实现需要自行配制部署。

(3)四层/七层负载均衡的区别:

a) 四层负载均衡在TCP/UDP层面,将外部的IP地址映射到内部的多个IP地址中,每次请求使用其中的一个IP 地址,从而实现负载均衡的目的。

b)七层负载均衡在HTTP协议层面,将用户请求进行分发。

4.硬件负载均衡和软件负载均衡

(1)硬件负载均衡:通过硬件设备实现的负载效果更好、效率高、性能稳定、但是成本比较高。

(2)软件负载均衡:通过软件实现的负载均衡主要依赖于均衡算法的选择和程序的健壮性。网络处理性能方面不如硬件负载均衡,但是不需要购买专门软件,成本较低。


三、常见算法

1.轮询算法

(1)轮询算法是将每个请求按时间顺序或排序顺序逐一分配到不同的后端节    点上,如果节点出现问题,则排除节点,不再分发请求。

(2)轮询算法的优势是实现简单

(3)轮询算法的缺点是无法平衡不同主机之间的性能

2.加权轮询算法

(1)加权轮询算法是在基本的轮询策略上加入不同的权重,指定各个节点被轮询的几率。

(2)加权轮询可以有效的处理后端节点性能不同的问题。

3.IP Hash 算法

(1)IP hash 算法是指将客户端的IP 使用特定的 Hash 算法,将其请求定位到某一台后端服务器当中。

(2)IP Hash的好处是同一个用户的请求始终在同一台服务器上处理,不存在连接保持的问题。

(3)IP Hash 的问题是无法保证后端服务器之间的负载均衡,可能有些后端压力会较大,而有些压力较小。


四、拓展算法

1.Fair 算法

(1)Nginx 可以通过第三方模块 fair来拓展负载均衡算法

(2)Fair算法通过 Nginx 后端的响应时间来判断负载情况。Nginx 会将请求分发给负载最轻的节点

(3)优势是可以有效的平衡不同节点之间的负载

(4)劣势是需要手动编译第三方模块

2.URL Hash 算法

(1)Nginx 可以通过第三方模块 url hash 来拓展负载均衡算法

(2)url hash 算法与 ip hash类似,不同的是针对客户端请求的URL进行 hash.

(3)url hash 在后端有缓存的情况下,可以提升缓存的利用率

(4)url hash 的问题是再让节点出现异常无法自动排除节点


五、其他负载平衡

1.Nginx轮询负载均衡

image.png

2.Nginx最少连接数负载均衡

image.png

3.Nginx随机分配负载均衡

image.png

4.Nginx分路径轮询负载均衡

image.png

5.Nginx加权轮询负载均衡

image.png

6.Nginx ip_hash负载均衡

image.png

7.Nginx TCP负载均衡

image.png

 

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
运维 负载均衡 Cloud Native
容器网络 ALB Ingress|学习笔记
快速学习容器网络 ALB Ingress
容器网络 ALB Ingress|学习笔记
|
弹性计算 编解码 运维
第三讲《云上网络VPC&EIP&NAT&共享带宽&SLB》|学习笔记
快速学习第三讲《云上网络VPC&EIP&NAT&共享带宽&SLB》。
第三讲《云上网络VPC&EIP&NAT&共享带宽&SLB》|学习笔记
|
弹性计算 tengine 负载均衡
【视频】第二讲-负载均衡CLB|学习笔记
快速学习【视频】第二讲-负载均衡CLB。
【视频】第二讲-负载均衡CLB|学习笔记
|
消息中间件 负载均衡 监控
RocketMQ 5.0 客户端负载均衡机制|学习笔记
快速学习 RocketMQ 5.0 客户端负载均衡机制
319 0
RocketMQ 5.0 客户端负载均衡机制|学习笔记
|
负载均衡 网络协议 Java
Spring Cloud 学习笔记04----服务消费者(RestTemplate+Ribbon(客户端负载均衡))
上一篇《Spring Cloud 学习笔记02----服务治理》我们讲到了服务的注册与发现,在微服务框架中,我们将服务拆分成一个个独立部署的子服务,这些服务通过http rest 来通讯的,Spring Cloud有两种服务调用方式,一种是 RestTemplate+Ribbon, 另外一种是Feign 。
162 0
Spring Cloud 学习笔记04----服务消费者(RestTemplate+Ribbon(客户端负载均衡))
|
弹性计算 负载均衡 监控
SLB 负载均衡 02-SLB 的基本概念视频| 学习笔记
快速学习 SLB 负载均衡 02-SLB 的基本概念视频。
SLB 负载均衡 02-SLB 的基本概念视频| 学习笔记
|
弹性计算 负载均衡 云计算
SLB 负载均衡01-负载均衡的产生及发展视频| 学习笔记
快速学习 SLB 负载均衡01-负载均衡的产生及发展视频。
SLB 负载均衡01-负载均衡的产生及发展视频| 学习笔记
|
Kubernetes 负载均衡 Cloud Native
微服务用户为什么要选择云原生网关?|学习笔记(二)
快速学习微服务用户为什么要选择云原生网关?
微服务用户为什么要选择云原生网关?|学习笔记(二)
|
Kubernetes 监控 Cloud Native
下一代网关——云原生网关商业化发布 | 学习笔记
快速学习 下一代网关——云原生网关商业化发布
437 0
下一代网关——云原生网关商业化发布 | 学习笔记
|
缓存 负载均衡 监控
微服务调用 Feign 与负载均衡|学习笔记(三)
快速学习微服务调用 Feign 与负载均衡
微服务调用 Feign 与负载均衡|学习笔记(三)
下一篇
DataWorks