实验概览
在本 AWS 实验中,您将通过使用两个 Python 脚本获得 Amazon Simple Queue Service (Amazon SQS) 的实践经验。Amazon SQS 是一项完全托管式消息队列服务,可帮助解耦云应用程序中的组件,用于提供可靠且可扩展的通信方式。
Amazon SQS 降低了与管理和操作面向消息的中间件相关的复杂性和开销。开发人员可以利用它专注于差异化工作。例如,您可以将 Amazon SQS 用作事件源,在每次将图像上传到 Amazon Simple Storage Service (Amazon S3) 存储桶时调用 Lambda 函数执行图像分析。或者,您可以使用 Amazon SQS 将消息从 Amazon Elastic Compute Cloud (Amazon EC2) 实例发送到另一个 EC2 实例进行处理。
Amazon SQS 提供两种类型的消息队列:标准队列和先进先出 (FIFO) 队列。标准队列提供最大吞吐量、最大努力排序和至少一次传输。FIFO 队列可以确保按照消息的发送顺序对消息只进行一次处理。
Amazon SQS 的工作原理如下:
- 分布式应用程序的一个组件(生产者)向 Amazon SQS 中的一个队列发送消息(这种操作称为加入队列)。该消息包含消息接收者执行任务所需的所有信息。
- 该消息在队列中等待,直到消费者(分布式应用程序的另一个组件)检索并处理该消息(这种操作称为退出队列)。
- 消费者处理该消息,然后将其从队列中删除,以防止再次接收和处理该消息。
在本实验中,您将使用两个 Python 脚本来更好地了解 Amazon SQS 的工作原理以及如何使用其功能。第一个 Python 脚本 (receive.py) 是接收者,用于持续侦听和接收来自 SQS 队列的消息。该脚本演示了连接到队列并实时检索消息的过程。
第二个 Python 脚本 (send.py) 是生产者,它向您提出了一个需要解决的代码挑战。目标是完成向 SQS 队列发送消息所需的代码的编写。本实验将帮助您了解向队列发送消息并从队列接收消息的过程,以便让您可以在现实场景中应用这些知识。
目标
本实验结束时,您将能够完成以下操作:
- 使用控制台和 AWS 命令行界面 (AWS CLI) 查看 SQS 队列。
- 查看并了解 receive.py 脚本的功能。
- 运行 receive.py 脚本以侦听 BackgroundCheckApp 队列。
- 更新 send.py 脚本以向 BackgroundCheckApp 队列发送 Hello World 消息。
- 测试 send.py 脚本以确认它将消息正确发送到了 SQS 队列。
技术性知识先决条件
要成功完成本实验,您应该:
- 基本了解 AWS 服务。
- 能够熟练使用 AWS Cloud9 编辑和测试 Python 脚本。
时长
完成本实验需要 30 分钟。
图标说明
本实验中使用了不同图标,以提醒大家注意各种类型的说明和备注。下面的列表解释了每个图标的用途:
- 命令:您必须运行的命令。
- 预期输出:您可以用来验证命令或已编辑文件输出的示例输出。
- 注意:一项提示、技巧或重要指导。
- 思考:暂停一下,思考如何在自己的环境中应用某个概念,或者就当前的主题展开讨论。
- 提示:针对某个问题或挑战的提示。
- 任务完成:本实验的总结或结论要点。