开发者学堂课程【Clouder 认证课程 - 超大流量网站的负载均衡:云负载均衡的基本功能】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/508/detail/6804
云负载均衡的基本功能
内容介绍:
一、阿里云负载均衡 SLB 的基本功能
二、转发方式的工作原理
三、会话保持及权重设置的工作原理
以阿里云负载均衡 SLB 为例来介绍在阿里云上可以获取到哪些负载均衡相关功能。
一、阿里云负载均衡 SLB 的基本功能
1、支持公网或私网类型的负载均衡服务(公网 SLB 实例指 SLB 访问地址是一个公网的 ip,用户可以通过公网访问到,而私网实例指 SLB 只能在阿里云内部使用,不能通过公网访问到。两种实例的使用场景也不同。在使用阿里云负载均衡SLB时要注意:如果是想自己的网站可以被用户用 web 访问要使用公网实例,如果针对于整个网站系统内部某一个服务进行负载均衡时选择使用 SLB 的私网实例。)
2、流量分发︰当前提供 4 层( TCP/UDP 协议)和 7 层( HTTP/HTTPS 协议)的负载均衡服务(在使用阿里云负载均衡 SLB 时流量分发支持两种不同的服务方式,在使用负载均衡服务前需要先明确实现的为 4 层还是 7 层负载均衡服务。不能两者都实现,因为在配置时按要求配置。)
3、流量调度︰支持加权轮询( WRR ),加权最小连接数( WLC )转发方式。指 SLB 在接受用户请求后以哪种方式将请求转发给后端服务器。加权指 SLB 不同于云服务器,都为不同权重。权重值越高,获得的请求的优先级越高。轮询指接收到请求后依次转发给后端云服务器上。最小连接数指SLB接收请求后只会将当前后端服务器上连接数最少的 ECS 来响应请求。
4、会话保持:在 Session 的生命周期内,可以将同一客户端请求转发到同一台后端 ECS 上,很多负载均衡服务都提供会话保持功能。会话保持指相同的请求会让相同的后端 ECS 来处理。例如之前的例子人工客服,拨打电话后接听电话的客服都不同,很难做到隔了一段时间后再拨打接听的是同一个客服,说明没有会话保持。如果实现了会话保持,人工客服服务会在规定时间内相同用户拨打电话就可以让相同客服接受请求。这样可以快速解决用户需求。
5、健康检查:可以对后端 ECS 进行健康检查,自动屏蔽异常状态的 ECS,待该 ECS恢复正常后自动解除屏蔽(检查当前云服务器状态。若一台云服务器出现故障,那么 SLB 不再转发请求到该 ECS 上,而是转发给其他正常的 ECS 上。)
在使用阿里云负载均衡 SLB 时要注意功能的使用场景及注意事项。
二、转发方式的工作原理
轮询模式∶会将外部和内部的访问请求依序分发给后端 ECS 进行处理。
例如:目前 SLB 实例上有三台云服务器 ECS,第一个请求让 ECS1 处理,第二个请求让 ECS2 进行处理。
最小连接数模式︰访问请求分发给当前连接数最小的一台后端 ECS 进行处理。
例如:SLB 实例上有三台云服务器 SLB,SLB 接收到用户请求后会按照当前连接数最少的云服务器 ECS 进行处理。如图上云服务器 ECS 的连接数分别为 5、4、3,ECS3 处理的请求数最少,所以会将请求给 ECS3。若此时再进入一个请求,此时ECS 的连接数为 5、4、4,由于 ECS2 是最早的请求数最少的,所以请求会转发给ECS2。
三、会话保持及权重设置的工作原理
会话保持︰规定时间内让后端将相同的 ECS 来处理请求
四层 TCP: 同一 IP 地址的请求持续发往一台服务器
七层 HTTP:相同 cookie 同的请求发往一台服务器
例如登录淘宝网站时输入用户密码,一个小时之内都不需要再次输入密码。因为输入用户名密码保存信息的后端云服务器与后面再访问的买商品的页面的服务器为同一台,此时就不需要再重新输入用户名密码。
在 SLB 后添加云服务器实例时会询问当前 ECS 的权重值是多少,权重值越高获取到前端 SLB 发送的请求源优先级越高。例如现在 SLB 实例后有三台 ECS 云服务器,此时所有的流量请求 20% 的访问量分发给 ECS1 进行处理,30% 的访问量由 ECS2 进行处理。权重值越高,获取的请求数量越高。
权重设置∶
访问请求按权重大小依次分发。