《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第4天——一、负载均衡SLB

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第4天——一、负载均衡SLB

1. 背景

 

image.png 

 

随着业务访问量和数据流量的日益增加,传统单一服务器已经无法承担,而升级单一服务器硬件会带来成本的增加、资源的浪费、以及扩展能力不足等问题。

 

而更有效的方式,是将单一服务器的计算任务,分担到多台低配置服务器上进行处理,这就产生了负载均衡设备,用户将业务请求发送到负载均衡设备,再由负载均衡设备按需分发到后端服务器,在基本不改变网络架构的基础上,扩展了网络设备接入能力。

 

2. SLB的定位

 

1) 负载均衡SLB(Server Load Balancer)

 

一种对流量进行按需分发的服务,通过将流量分发到不同的后端服务器来扩展应用系统的吞吐能力,并且可以消除系统中的单点故障,提升应用系统的可用性。

 

2) 阿里云SLB

 

阿里云结合自身弹性计算平台的特点,以及强大的技术优势,提供的一套软件负载均衡解决方案,以更好的满足弹性计算平台负载均衡的需求。

 

3) 什么情况下使用SLB?

 

单台云服务器不能满足需求的时候

使用多台云服务器进行流量分发,提升服务能力

使用多台云服务器消除单点故障,提升可用性

 

3. SLB的组成

 

阿里云负载均衡SLB分为两类:应用型负载均衡ALB和传统型负载均衡CLB。

 image.pngimage.png

 

1) 应用型负载均衡ALB

 

a) 产品定位

强大的层负载均衡处理能力与丰富的高级路由功能

聚焦HTTP、HTTPS和QUIC应用层协议

面向应用交付

 

b) 产品性能

基于NFV虚拟化平台,支持弹性伸缩,单实例每秒查询数QPS(Query Per Second)可达100万次

 

c) 可用性承诺:99.995%

 

d) 运维方式

处理能力随业务规模自动弹性伸缩,无需进行峰值与规格预估。

 

e) 云原生支持

阿里云官方云原生Ingress网关,支持流量拆分、镜像、灰度发布和蓝绿测试的负载均衡能力。

 

f) 典型应用场景

互联网应用七层高性能自动弹性负载均衡场景。

音视频应用大流量低时延负载均衡场景。

云原生应用金丝雀蓝绿发布负载均衡场景。

 

g) 同时ALB提供基于内容的高级路由特性

例如基于HTTP报头、Cookie和查询字符串进行转发、重定向和重写等。

 

2) 传统型负载均衡CLB

 

a) 产品定位

强大的四层负载均衡处理能力,以及基础的七层处理能力;

支持TCP/UDP/HTTP/HTTPS等协议;

主要面向网络交付;

 

b) 产品性能

基于物理机架构,单实例连接数可达500万。

 

c) 可用性承诺:99.95%

 

d) 运维方式

按规格售卖,需要根据业务规模预估带宽峰值。

 

e) 云原生支持

支持云原生业务场景,与阿里云ACK/ASK等容器服务结合使用。

 

f) 典型应用场景

网站/系统同地域高可靠负载均衡场景。

四层流量大并发业务负载均衡场景。

城双活/跨地域容灾负载均衡场景。

 

image.png 

 

4. SLB的功能

 

1) 协议支持

 

四层:支持TCP/UDP

基于连接做流量调度。TCP和UDP创建一个socket访问负载均衡实例,这个源和目的IP和端口就是一个连接

 

七层:支持HTTP/HTTPS

基于请求做调度。比如:http get请求访问一个页面。

 

WS/WSS协议支持

无需配置,当选用HTTP监听时,默认支持无加密版本WebSocket协议(WS协议)

当选择HTTPS监听时,默认支持加密版本的WebSocket协议(WSS协议)。

image.png 

 

2) 调度算法

image.png

 

轮询模式:按照访问顺序依次将外部请求依序分发到后端服务器。

最小连接数模式:根据后端服务器的实际负载(即连接数)进行轮询,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。

加权轮询模式:根据每台后端服务器设定的权重值来进行轮询,权重值越高的后端服务器,被轮询到的次数(概率)也越高。

 

3) 会话保持

 

在会话生命周期内,可以将同一客户端请求转发到同一台后端ECS上。

 

四层:同一IP地址的请求持续发往一台服务器

七层:相同cookie的请求发往一台服务器

image.png

 

使用会话保持有可能导致负载不均衡的情况,因此,另外一个思路是——

 

在SLB架构中,后端服务器ECS一般为无状态,因此,状态数据(与业务相关数据)尽量不保存在ECS中,而是放在RDS或者Redis缓存,这样也可以保证数据的正常运行。

 

 

4) 健康检查

 

SLB通过健康检查来判断后端服务器(ECS实例)的业务可用性。健康检查机制避免了后端ECS异常对总体服务的影响,提高了前端业务整体可用性。

 image.png四层健康检查原理                                  七层健康检查原理 

四层健康检查:基于TCP连接进行的健康检查。

七层健康检查:基于HTTP状态码的方式进行健康检查。

 

四层健康检查和七层健康检查的方式不同,因为:

 

在SLB中有三类集群:SVL、Tengine和Keyserver。

当客户发送四层或七层请求,会先到达SVL集群,四层请求会直接发送到后端ECS上,使客户端和ECS形成点对点的长链接。

而七层请求会先发送到Tengine集群,HTTPS会进入keyserver集群卸载证书,然后再下发到后端ECS上,因此七层请求都是通过Tengine转发到ECS上,而无法形成客户端和ECS的链接。

image.png

 

5) 虚拟服务器组

 

如果未使用虚拟服务器组,则每个后端ECS都需要相应所有端口监听,这是不太可能实现的,因此需要将后端ECS进行分组。虚拟服务器组就是通过打标签的方式将后端ECS进行分组,实现ECS的灵活调度。

 image.png

 未使用虚拟服务器组                                            使用虚拟服务器组

5. SLB的配置流程

 

1) 创建ECS

2) 搭建应用

3) 创建SLB

4) 添加监听和后端服务器

5) 域名解析(可选)

 

6. 最佳实践

 

最佳实践1:作为公网流量入口

 

这是一种典型的使用方式。在ECS上部署无状态的应用,使用SLB服务作为公网流量的入口,可以提高系统的可用性,同时,后端ECS不再需要公网IP和公网带宽。

 

image.png

 

最佳实践2:实现相同域名不同路径的流量转发

 

使用虚拟服务器组+URL转发规则,实现将相同域名不同路径的流量转发至不同的后端虚拟服务器组。

 

image.png 

 

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
2月前
|
关系型数据库 分布式数据库 数据库
成都晨云信息技术完成阿里云PolarDB数据库产品生态集成认证
近日,成都晨云信息技术有限责任公司(以下简称晨云信息)与阿里云PolarDB PostgreSQL版数据库产品展开产品集成认证。测试结果表明,晨云信息旗下晨云-站群管理系统(V1.0)与阿里云以下产品:开源云原生数据库PolarDB PostgreSQL版(V11),完全满足产品兼容认证要求,兼容性良好,系统运行稳定。
|
3月前
|
存储 人工智能 Cloud Native
阿里云瑶池数据库训练营权益:《玩转Lindorm》学习资料开放下载!
阿里云瑶池数据库训练营权益:《玩转Lindorm》学习资料开放下载!
|
3月前
|
运维 安全 关系型数据库
参加数据库管理工具DAS训练营,赢取国潮保温杯和阿里云定制双肩包!
本训练营带您简单了解数据库自治与云安全服务,数据库自治服务提供云上RDS、PolarDB、NoSQL、ADB等数据库7*24小时异常检测、SQL自优化、安全合规审计、弹性伸缩、数据自治、锁分析等亮点功能。一站式自动化、数字化DAS集成平台,助力您畅享DBA运维智能化。
阿里云域名购买注册流程_创建信息模板_域名实名认证全流程
阿里云域名注册指南:访问[阿里云域名注册入口,查询并注册心仪域名,选择后缀,加入清单后结算。价格因后缀而异,如.com首年78元。创建域名信息模板完成实名认证,首次需上传资料。获取优惠口令并使用可享折扣
|
3天前
|
Cloud Native 关系型数据库 分布式数据库
数据库性能诊断工具DBdoctor通过阿里云PolarDB产品生态集成认证
DBdoctor(V3.1.0)成功通过阿里云PolarDB分布式版(V2.3)集成认证,展现优秀兼容性和稳定性。此工具是聚好看科技的内核级数据库性能诊断产品,运用eBPF技术诊断SQL执行,提供智能巡检、根因分析和优化建议。最新版V3.1.1增加了对PolarDB-X和OceanBase的支持,以及基于cost的索引诊断功能。PolarDB-X是阿里巴巴的高性能云原生分布式数据库,兼容MySQL生态。用户可通过提供的下载地址、在线试用链接和部署指南体验DBdoctor。
|
3天前
|
人工智能 NoSQL 安全
国内唯一!阿里云荣膺MongoDB“2024年度DBaaS认证合作伙伴奖”
阿里云连续第五年斩获MongoDB合作伙伴奖项,也是唯一获此殊荣的中国云厂商。
国内唯一!阿里云荣膺MongoDB“2024年度DBaaS认证合作伙伴奖”
|
4天前
|
JSON SpringCloudAlibaba Cloud Native
SpringCloudAlibaba:4.3云原生网关higress的JWT 认证
SpringCloudAlibaba:4.3云原生网关higress的JWT 认证
11 1
|
14天前
|
Serverless Go API
Serverless 应用引擎产品使用之在阿里云Serverless中,我想在钉钉机器人中使用函数计算的签名认证如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
19 0
阿里云域名实名认证需要多长时间通过?
阿里云域名实名认证通常在1天内完成,经测试一般10多分钟即可通过,最慢3-5个工作日。如果你的阿里云账号下有已经通过实名认证的域名信息模板,那么域名实名认证的时间会更快一些,如果是阿里云新账号,之前没有注册过域名,那么填写域名信息模板并等待实名认证,时间就会稍微多一些
|
1月前
|
人工智能 自然语言处理 测试技术
“送云资源、用大模型” 阿里云启动云工开物“高校训练营”计划
“送云资源、用大模型” 阿里云启动云工开物“高校训练营”计划
34 1