第九章 利用 Elastic Load Balancing 引导分配流量

Lepiaoxue2022-10-18云计算186
这一理念同样适用于您的 AWS 环境。当您的多个 EC2 实例都运行同一个程序来达到相同的业务目标时,一个请求进来,这个请求如何知道要往哪个 EC2 实例呢?您怎样才能确保工作负载均匀地分布在各个 EC2 实例之间?而不是只有一个实例提供支持,其他的实例闲置在旁呢?您需要有一种方法,将请求路由到实例来处理这个请求。您需要解决的这个问题方法称为负载均衡 (load balancing)
负载均衡器是一个应用程序,它接收请求并将请求路由到实例来进行处理。
Elastic Load Balancing 简称 ELB,它是一个托管服务,它旨在解决负载均衡方面的无差别的繁重工作。Elastic Load Balancing 是一个区域性的服务,它在区域级别运行,而不是在单独的 EC2 实例上运行。因此,这项服务具有高可用性,您无需承担任何额外的工作。
ELB 还可以自动扩展,随着流量的增长,ELB 可以处理额外的吞吐量,而每小时的费用不会发生变化。当您的 EC2 队列自动扩展的时候,随着每个实例的上线,Auto-Scaling 服务会告知 ELB,实例已经准备好处理流量,可以开始了。一旦集群缩减,ELB 首先会停止所有的新流量流向被缩减的实例,同时等待该实例上现有的请求完成,然后排干。一旦完成上述工作,那么 Auto-Scaling 引擎就会在不影响现有客户的情况下终止实例。
ELB 不仅用于外部流量。我们来看一下订购层(ordering tier)以及它如何与生产层(production tier)进行的通信。现在,每个前端实例都知道每个后端实例。如果一个新的后端实例上线,在当前这个架构中,它需要告诉每个前端实例,现在可以接收流量了。那对于五六个实例来说,这整个架构就已经够复杂了。现在,假设您在两个层上可能都有数百个实例,每个层不断地根据需求变化让它们保持有效的联网是几乎不可能的。
同时,我们同样需要使用 ELB 解决后端流量混乱的问题。因为 ELB 是区域性的服务,因此它是一个单一的 URL,每个前端实例都会使用它。然后,ELB 将流量引导至具有最少未完成请求的后端。如果后端进行扩展,一旦新实例准备就绪,它只需要告诉 ELB 就可以接收流量,开始工作。前端不知道也不在乎正在运行的后端的实例数量,这就是真正的解耦架构。
Elastic Load Balancing
Elastic Load Balancing 这项 AWS 服务可以在 Amazon EC2 实例等多个资源之间自动分配传入的应用程序流量。 
负载均衡器充当 Auto Scaling 组的所有传入 Web 流量的单一接触点。这意味着当您针对传入的流量添加或删除 Amazon EC2 实例时,这些请求会首先路由到负载均衡器。然后,这些请求会分布到多个资源上,由它们进行处理。例如,如果您有多个 Amazon EC2 实例,则 Elastic Load Balancing 会在多个实例之上分配工作负载,这样就不会出现单个实例承担大量工作负载的情况。 
虽然 Elastic Load Balancing 和 Amazon EC2 Auto Scaling 是独立的服务,但它们可以协同工作,确保在 Amazon EC2 中运行的应用程序可以提供高性能和高可用性。
示例:Elastic Load Balancing
低需求期
这个示例可以说明 Elastic Load Balancing 的工作原理。假设有几位顾客来到一家咖啡店,准备点咖啡。 
如果只有几个收银台开放,那么这就符合需要服务的顾客的需求。咖啡店不太可能在没有顾客时开放收银台。在本示例中,您可以将收银台看作 Amazon EC2 实例。
高需求期
一天中,随着顾客人数的增加,咖啡店会开放更多的收银台接待顾客。示意图中的 Auto Scaling 组体现了这一点。
此外,还有一位店员负责引导客户前往最合适的收银台,这样就可以在开放的收银台之间均匀地分配请求数量。您可以将这位店员看作一个负载均衡器。


版权归乐飘雪所有!

本文链接:http://lepiaoxue.com/post/15.html

相关文章

第一章 AWS云计算简介

第一章 AWS云计算简介

AWS 为每个企业都提供了非常广泛的服务,从基本要素,例如计算、存储和网络安全工具;到复杂的解决方案,例如区块链、机器学习或人工智能;以及机器人开发平台,再到非常专业的工具集,例如视频制作管理系统和可...

第四章 计算

第四章 计算

服务器的作用是帮助您托管应用程序并提供满足您业务需求的计算能力,当你使用 AWS 时,这些服务器都是虚拟化的,而提供虚拟化服务器的服务,就是 EC2。与在自己的数据中心当中运行物理服务器相比,使用 E...

第五章 Amazon EC2

第五章 Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2)Amazon Elastic Compute Cloud (Amazon EC2) 可以通过 Amazon...

第七章 Amazon EC2 定价模式

第七章 Amazon EC2 定价模式

使用 Amazon EC2 时,您只需为使用的计算时间付费。Amazon EC2 针对不同使用案例提供了多种定价选项。按需实例/On-deman按需实例非常适合不能中断的短期无规律工作负载。没有前期成...

第十一章 其他计算服务

第十一章 其他计算服务

我们知道 EC2 是一种虚拟服务器,经过简单的配置就可以适用于,比如说运行基本的 Web 服务器或者运行高性能计算集群。虽然 EC2 具备很高的灵活性、可靠性和可扩展性,但您的场景可能需要其他的解决方...

第十二章 全球基础设施和可靠性

第十二章 全球基础设施和可靠性

AWS 利用自己的全球化基础设施实现高可用性(high availability)。将所有资源都存放在一个大型的数据中心当中并不能保证可用性。如果数据中心出现什么问题的话,比如说停电或者自然灾害,所有...