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

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: 《阿里云认证的解析与实战-云计算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 

 

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
11天前
|
弹性计算 运维 负载均衡
阿里云SLB的性能优势
【11月更文挑战第3天】
32 3
|
24天前
|
负载均衡 算法 网络协议
阿里云slb中的lvs介绍
【10月更文挑战第17天】
58 2
|
24天前
|
弹性计算 负载均衡 监控
阿里云slb的slb-backend介绍
【10月更文挑战第17天】
69 2
|
24天前
|
弹性计算 负载均衡 监控
阿里云slb的slb-api介绍
【10月更文挑战第17天】
52 1
|
1月前
|
存储 人工智能 弹性计算
阿里云何川:云计算,为数据基础设施的建设提速|数据对话
中国信通院工业互联网与物联网研究所特别策划“数据对话”专题,旨在通过专家的深度分析和独特视角,回答社会关切话题,探讨前沿技术和应用趋势。
|
1月前
|
弹性计算 负载均衡 算法
负载均衡如何帮助阿里云国际服务器搭建的网站或应用程序?
负载均衡如何帮助阿里云国际服务器搭建的网站或应用程序?
|
1月前
|
存储 人工智能 弹性计算
阿里云何川:云计算,为数据基础设施的建设提速|数据对话
中国信通院工业互联网与物联网研究所特别策划“数据对话”专题,旨在通过专家的深度分析和独特视角,回答社会关切话题,探讨前沿技术和应用趋势。本期,我们邀请到阿里云弹性计算产品运营与生态合作负责人何川,围绕云计算如何加速数据基础设施建设及其未来发展趋势展开探讨。
|
2月前
|
存储 安全 小程序
什么是云计算,为什么选择阿里云?
阿里云提供的云计算服务让您能以按需、按量的方式获取算力,涵盖计算、存储、网络等多种形态,无需自建数据中心。它具备弹性、敏捷、安全、稳定、高性能和低成本等优势,支持业务快速创新,保障数据安全及业务连续性,帮助您专注于核心业务发展。常见应用场景包括网站、小程序、移动应用及大模型问答机器人等。
|
7天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
22 2
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
67 0

推荐镜像

更多