阿里云七天训练营第三天——SLB负载均衡实践

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 今天是训练的第三天,我们学习了通过配置负载均衡使ECS实例部署到SLB后端,并通过修改相应的权重,分配用户访问后端ECS实例的比例。

阿里云七天训练营第三天——SLB负载均衡实践

场景背景模拟

拥有大量用户的企业,经常会面临如下的难题:在高并发的情况下,经常会导致服务器响应速度慢,严重的情况会直接导致服务器停止服务。此时,会导致企业的业务中断,影响客户的正常访问。

本场景通过使用阿里云负载均衡SLB以及对负载均衡SLB后端服务器ECS的权重进行修改,可以快速解决上述的问题。

img

场景目标:

  1. 配置负载均衡SLB的监听规则,并将ECS实例部署到SLB后端;
  2. 通过设置负载均衡SLB后端服务器ECS的权重值,分配用户访问后端ECS实例的比例。

背景知识

阿里云负载均衡

简介

负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(ECS实例)的流量分发控制服务。负载均衡扩展了应用的服务能力,增强了应用的可用性。

负载均衡通过设置虚拟服务地址,将添加的ECS实例虚拟成一个高性能、高可用的应用服务池,并根据转发规则,将来自客户端的请求分发给云服务器池中的ECS实例。

负载均衡默认检查云服务器池中ECS实例的健康状态,自动隔离异常状态的ECS实例,消除了单台ECS实例的单点故障,提高了应用的整体服务能力。此外,负载均衡还具备抗DDoS攻击的能力,增强了应用服务的防护能力。

架构

负载均衡服务主要有三个核心概念:

负载均衡实例 (Server Load Balancer instances)

一个负载均衡实例是一个运行的负载均衡服务,用来接收流量并将其分配给后端服务器。要使用负载均衡服务,您必须创建一个负载均衡实例,并至少添加一个监听和两台ECS实例。

监听 (Listeners)

监听用来检查客户端请求并将请求转发给后端服务器。监听也会对后端服务器进行健康检查。

后端服务器(Backend Servers)

一组接收前端请求的ECS实例。您可以单独添加ECS实例到服务器池,也可以通过虚拟服务器组或主备服务器组来批量添加和管理。

img

特点

1)负载均衡服务通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台云服务器(Elastic Compute Service,简称ECS)资源虚拟成一个高性能、高可用的应用服务池;根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中。

2)负载均衡服务会检查云服务器池中ECS的健康状态,自动隔离异常状态的ECS,从而解决了单台ECS的单点问题,同时提高了应用的整体服务能力。在标准的负载均衡功能之外,负载均衡服务还具备TCP与HTTP抗DDoS攻击的特性,增强了应用服务器的防护能力。

3)负载均衡服务是ECS面向多机方案的一个配套服务,需要同ECS结合使用。

优势

  • 高可用

采用全冗余设计,无单点,支持同城容灾。搭配DNS可实现跨地域容灾,可用性高达99.95%。

根据应用负载进行弹性扩容,在流量波动情况下不中断对外服务。

  • 可扩展

您可以根据业务的需要,随时增加或减少后端服务器的数量,扩展应用的服务能力。

  • 低成本

与传统硬件负载均衡系统高投入相比,成本可下降60%。

  • 安全

结合云盾,可提供5Gbps的防DDOS攻击能力。

实战演练

本次实验需要用到两台ECS服务器以及一台负载均衡

1.云服务器状态确认

1.点击左侧导航栏处的 云产品资源,查看 云服务器ECS-1云服务器ECS-2 的相关信息。

2.打开浏览器,在输入框中输入 云产品资源 提供的 云服务器ECS-1弹性IP ,页面如下图:

说明:正常情况下不会显示 后端服务器IP,此处是为了观察比较的便利性而设计的。

截屏2020-09-25 上午8.37.05.png

  1. 打开新的窗口,输入 云服务器ECS-2弹性IP ,访问页面如下:

说明:正常情况下不会显示 后端服务器IP,此处是为了观察比较的便利性而设计的。

截屏2020-09-25 上午8.37.40.png

  1. 比较两台ECS的访问结果,发现部署的网站内容相同,只是显示的后端服务器IP不同。

说明:在真实场景下,负载均衡后端的服务器中部署的应用都是一致的。

2.负载均衡配置

本小节的主要内容:将两台服务器挂载到负载均衡的后端,这样,用户只需访问一个IP地址或域名,负载均衡服务器将会根据权重自动转发用户请求到相应的后端服务器上。

  1. 通过如下步骤,查看阿里云负载均衡控制台:

1)点击左侧导航栏处的 云产品资源 查看资源信息,点击 一键复制url,用浏览器隐身窗口(或无痕模式)登录控制台,

2)输入实验提供的 子用户名称子用户密码 ,完成后点击 登录 。登录阿里云管理控制台。

截屏2020-09-25 上午8.40.59.png

3)点击左侧导航栏的 产品与服务 ,下拉菜单中,在 弹性计算 条目下选择 负载均衡

截屏2020-09-25 上午8.42.11.png

  1. 点击左侧的 实例管理 ,然后打开实验提供的实例,在实例列表页面,点击目标实例右侧的 点我开始配置

截屏2020-09-25 上午8.43.34.png

  1. 通过负载均衡业务配置向导,配置负载均衡的 监听端口后端服务器健康检查

1)在 协议&监听 页面,输入如下信息,完成后,点击 下一步

  • 负载均衡协议:选择 HTTP
  • 监听端口:设为 80
  • 高级配置保持默认

截屏2020-09-25 上午8.45.40.png

2)在 后端服务器 页面,监听请求转发至 默认服务器组,在已添加服务器处点击 继续添加

截屏2020-09-25 上午8.46.48.png

3)在弹出的待添加服务器页面,在预先配置好的两台云服务器前打勾选择,然后点击下一步,之后再点击 添加

截屏2020-09-25 上午8.47.34.png

截屏2020-09-25 上午8.47.57.png

4)在后端服务器界面的已添加服务器列表中,可以看到新增的两台云服务器,分别将 端口 设置为 80,并点击 下一步

说明:负载均衡器将会按照输入的权重比例分发请求。

截屏2020-09-25 上午8.49.04.png

5)在 健康检查 配置中,开启健康检查按钮为绿色 开启状态,点击 下一步

截屏2020-09-25 上午8.49.32.png

6)在 配置审核 页面,确认上述配置操作正确,点击 提交;出现如下界面,提示配置成功后,点击 知道了

截屏2020-09-25 上午8.50.30.png

7)此时,页面将显示一个状态为 运行中 的负载均衡监听实例,后端服务器组已添加完成两台ECS服务器,且 健康检查 的状态为 正常

注意:通常等待1分钟左右健康检查状态变为正常,可点击右侧的 刷新 查看。

截屏2020-09-25 上午8.53.07.png

3.负载均衡配置

本小节主要内容如下:

  • 验证负载均衡的工作原理;
  • 验证通过配置不同后端服务器权重,将用户的请求按比例分发到不同后端服务器;
  • 验证在一台后端服务器开启会话请求时,请求在会话开启的时间内只会分发到这一台服务器。
  1. 此时,两台后端服务器的权重比例相同。通过如下步骤,验证负载均衡服务器是轮询访问后端云服务器ECS实例:

1)在控制台点击左侧 实例管理 ,在右侧页面中的红框处看到负载均衡的 服务地址(也就是 云产品资源 提供的 负载均衡IP地址) ;

截屏2020-09-25 上午8.53.07.png

2)在浏览器中新建页面,并访问 负载均衡服务地址 。界面显示的 后端服务器IP 为 云服务器ECS-1(或 云服务器ECS-2) 的 内网地址

说明:界面显示的地址为内网地址,这是因为负载均衡访问后端ECS实例,是通过内网访问的。

截屏2020-09-25 上午8.55.13.png

3)刷新 浏览页面,显示的 后端服务器IP 将发生变化,变为 云服务器ECS-2(或 云服务器ECS-1)的 内网地址

截屏2020-09-25 上午8.56.07.png

4)重复刷新操作,观察 后端服务器IP 是在两个云服务器的 内网地址 间轮流更换。

5)如上结果证明:负载均衡会将用户的请求发送到后端不同的服务器进行处理。这样,可以减轻单台服务器的负载压力,从而确保业务的持续性。

  1. 通过如下步骤,修改后端服务器权重,验证负载均衡向后端服务器发送请求的比例是按照权重的比例调整的。

1)返回 实例管理 页面,点击该实例的 默认服务器组

截屏2020-09-25 上午8.53.07.png

2)选中 已添加的服务器 ,列表中,勾选下方的勾选框 ,然后点击 修改权重

截屏2020-09-25 上午8.57.44.png

3)弹出对话框中,勾选 设置不同的权重

4)设置两个实例的 权重 分别为 3090

说明:通过如上的权重配置,用户通过负载均衡访问的时候,1/4 的用户请求发送到一台后端服务器中,3/4 的请求发送到另一台后端服务器中。

5)完成如上配置后,点击 确定 ,生效配置信息。

截屏2020-09-25 上午8.58.54.png

6)返回已添加的服务器的页面,查看到两台 ECS实例 的权重分别为 3090 ,并记录对应的 ECS实例 内网地址

截屏2020-09-25 上午8.59.10.png

7)浏览器中,刷新多次负载均衡 服务地址 的页面,并记录页面显示的 后端服务器IP 。可以发现:每 4 次刷新,将有 3 次访问 权重90 的 ECS实例,1 次访问权重为 30 的 ECS实例。

8)如上结果证明:用户可以根据实际情况调整负载均衡器的请求分发,一般将配置高的服务器设置的权重调高,配置较低的服务器设置的权重调低。这样可以避免在高并发时,配置较低的服务器因为压力较大服务异常的发生。

  1. 执行以下步骤,开启负载均衡的 会话保持 功能。

1)点击左侧 监听 ,监听页面点击右侧的 修改监听配置

截屏2020-09-25 上午9.00.45.png

2) 配置监听页面的 高级配置 处,点击 修改

截屏2020-09-25 上午9.01.16.png

3)开启 会话保持 ,超时时间 输入 180 (即 3 分钟);完成后点击 下一步

截屏2020-09-25 上午9.01.43.png

4)下面的 后端服务器健康检查配置审核 页面都采用默认值 ,依次完成配置。

  1. 再次在浏览器中输入 负载均衡IP地址 ,多次刷新,发现在会话保持的超时时间内请求只会分发到某一台 ECS 上(究竟是哪一台 ECS 没有规定),时间超出后,重新按照权重比例分发。

截屏2020-09-25 上午9.05.29.png

  1. 我们关闭开启 会话保持 的那台ECS 。默认服务器组页面,已添加的服务器中 ,点击目标ECS的的高亮部分(即 云服务器ID)。

截屏2020-09-25 上午9.06.37.png

  1. 实例详情页面 ,点击右上角处的 【停止】 ,弹窗页面点击【确定 】关闭当前ECS。

截屏2020-09-25 上午9.07.08.png

等待1分钟左右,实例的状态变为 已停止

截屏2020-09-25 上午9.08.20.png

  1. 返回负载均衡管理控制台,在默认服务器组页面中点击右上角的【刷新】,页面刷新后被停止的 ECS 的 状态 变为 已停止

截屏2020-09-25 上午9.09.19.png

【监听】 页面,也出现 异常 提示 。

截屏2020-09-25 上午9.09.49.png

同样的,点击左上角的 【实例管理 】,返回负载均衡管理控制台主页面,异常 报警也会出现。
截屏2020-09-25 上午9.10.25.png

  1. 再次刷新浏览器中 负载均衡 的 IP地址 ,此时,请求发送到 健康检查状态 为 正常 的ECS上。

截屏2020-09-25 上午9.11.04.png

  1. 结果证明,当某一台 ECS 出现异常后,负载均衡会自动将请求发送到健康检查状态正常的 ECS 上。
相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
2月前
|
SQL 存储 API
阿里云实时计算Flink的产品化思考与实践【下】
本文整理自阿里云高级产品专家黄鹏程和阿里云技术专家陈婧敏在 FFA 2023 平台建设专场中的分享。
111225 154
阿里云实时计算Flink的产品化思考与实践【下】
|
2天前
|
安全 Devops 测试技术
深入了解阿里云云效DevOps:构建高效软件开发实践
阿里云云效DevOps,集成CI/CD与自动化测试,提升开发效率。支持持续集成确保代码质量,自动化测试加速交付,多环境及灰度发布保障安全可靠性。助团队构建高效开发实践,增强竞争力。
8 1
|
7天前
|
存储 监控 Apache
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
网易的灵犀办公和云信利用 Apache Doris 改进了大规模日志和时序数据处理,取代了 Elasticsearch 和 InfluxDB。Doris 实现了更低的服务器资源消耗和更高的查询性能,相比 Elasticsearch,查询速度提升至少 11 倍,存储资源节省达 70%。Doris 的列式存储、高压缩比和倒排索引等功能,优化了日志和时序数据的存储与分析,降低了存储成本并提高了查询效率。在灵犀办公和云信的实际应用中,Doris 显示出显著的性能优势,成功应对了数据增长带来的挑战。
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
|
13天前
|
测试技术 块存储 开发者
阿里云块存储团队软件工程实践
本文介绍了阿里云团队软件工程实际开发流程,并简述了开发过程中遇到的一些问题。且附带案例,以及遇到案例中出现的情况应当如何应对。
|
15天前
|
运维 负载均衡 Cloud Native
Serverless 应用引擎产品使用之在Serverless 应用引擎中,使用云原生网关的情况下,SLB(负载均衡器)和证书配置如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
22 1
|
18天前
|
负载均衡 算法
SpringCloud&Ribbon负载均衡原理与实践
SpringCloud&Ribbon负载均衡原理与实践
20 3
|
28天前
|
SQL 运维 DataWorks
Flink CDC在阿里云DataWorks数据集成应用实践
本文整理自阿里云 DataWorks 数据集成团队的高级技术专家 王明亚(云时)老师在 Flink Forward Asia 2023 中数据集成专场的分享。
521 2
Flink CDC在阿里云DataWorks数据集成应用实践
|
1月前
|
消息中间件 SQL Java
阿里云Flink-自定义kafka format实践及踩坑记录(以protobuf为例)
阿里云Flink-自定义kafka format实践及踩坑记录(以protobuf为例)
|
2月前
|
SQL 存储 数据处理
阿里云实时计算Flink的产品化思考与实践【上】
本文整理自阿里云高级产品专家黄鹏程和阿里云技术专家陈婧敏在 FFA 2023 平台建设专场中的分享。
3406 4
阿里云实时计算Flink的产品化思考与实践【上】
|
2月前
|
弹性计算 网络协议 关系型数据库
网络技术基础阿里云实验——企业级云上网络构建实践
实验地址:<https://developer.aliyun.com/adc/scenario/65e54c7876324bbe9e1fb18665719179> 本文档指导在阿里云上构建跨地域的网络环境,涉及杭州和北京两个地域。任务包括创建VPC、交换机、ECS实例,配置VPC对等连接,以及设置安全组和网络ACL规则以实现特定服务间的互访。例如,允许北京的研发服务器ECS-DEV访问杭州的文件服务器ECS-FS的SSH服务,ECS-FS访问ECS-WEB01的SSH服务,ECS-WEB01访问ECS-DB01的MySQL服务,并确保ECS-WEB03对外提供HTTP服务。