简介
在本教程中,您将学习如何使用 Amazon Simple Queue Service(Amazon SQS)设置异步消息收发。Amazon SQS 是允许应用程序组件在云中通信的一种 AWS 服务。您将使用 Amazon SQS 控制台创建和配置消息队列,发送消息,接收和删除此消息,然后删除此队列。
您在本教程中使用的 AWS 服务包含在 AWS Free Tier 中。
所需费用
免费套餐
使用的服务
在 AWS 上发送消息
需要一个账户
AWS Free Tier 包含 100 万个 Amazon Simple Queue Service 请求。
实施
-
进入 Amazon SQS 控制台
a.单击此处之后,AWS 管理控制台将在新的浏览器窗口中打开,因此您可以使本分步指南保持打开状态。 此屏幕加载后,请输入用户名和密码以便开始操作。然后,在搜索栏中输入 queue 并选择 Simple Queue Service 以打开控制台。
b. 如果出现 SQS 控制台登录页面(如屏幕截图所示),请单击立即开始使用。 如果您没有看到此页面,请跳至下一步。
-
创建 Amazon SQS 队列
在此步骤中,您将创建和配置一个 Amazon SQS 队列。队列是一种可靠且高度可扩展的缓冲区,用于当消息在分布式应用程序或微服务间传送时存储它们。队列可以帮助解耦应用程序、连接微服务、批量处理任务或存储通知。
在本教程中,我们的使用案例将模拟从电子商务应用程序传入的订单的存储。
a.首先,我们将创建一个简单队列,用于存储在商店中所下的订单。在队列名称字段中输入 Orders。
b.在本教程中,我们不需要遵循严格的顺序,因此我们不会对队列类型进行任何更改。使标准队列处于选中状态。
c.您可以配置您的队列,以修改保留期、消息大小上限和发送延迟等设置。在本教程中,我们将保留默认参数。选择快速创建队列。
d.您的新队列随即会创建并在队列列表中处于选中状态。
-
将消息发送到队列中
创建队列后,便可以接收来自在线商店的消息,以捕获每个新订单的详细信息。
a. 在列表中,您的队列处于选中状态。在 Queue Actions(队列操作)中,选择 Send a Message(发送消息)。向订单发送消息对话框随即显示。
b.向订单发送消息对话框随即显示。在“消息正文”选项卡上,输入以下文本来代表示例订单:
1 x Widget @ $29.99 USD
2 x Widget Cables @ $4.99
c.选择 Message Attributes(消息属性)选项卡,添加与此消息有关的某些可选元数据,以便轻松处理。我们来为此订单添加订单类型。在名称字段中输入 Order-Type,在类型字段中输入 String 并在值字段中输入 Online。单击添加属性。
d.要立即发送消息,请单击发送消息。向订单发送消息对话框中随即会显示消息已发送的确认信息。单击关闭。
-
检索和删除消息
将消息发送到队列中后,其他应用程序可以从队列中使用该消息并对其进行处理。在本例中,您只需检索消息以查看订单,然后将其删除即可。
a.确保您的 Orders 队列在队列列表中处于选中状态。接下来,从队列操作中,选择查看/删除消息。
b.查看/删除订单中的消息对话框随即显示。当您从队列中请求消息时,您不必指定请求具体消息,而应指定要检索的最大消息数量(最多 10 条)。
单击开始轮询消息,从队列中检索消息。
c.消费者收到并处理消息后,您可将其从队列中删除。选择要删除的消息,然后选择删除 1 条消息。
d.删除消息对话框随即显示。选中消息旁边的复选框,然后单击是,删除所选消息。所选消息将被删除。选择关闭。
-
删除队列
当您不再需要使用 Amazon SQS 队列后,建议您最好删除该队列。
a.在队列列表中,选择 Orders 队列。然后,从队列操作中,选择删除队列。
b.Delete Queues(删除队列)对话框随即显示。您仍然可以删除您的队列,即使队列中仍然有消息也是如此。选择是,删除队列。队列将被删除。
恭喜!
您已创建了第一个 Amazon Simple Queue Service (Amazon SQS) 消息队列,向队列发送了消息,检索并删除了消息,然后删除了队列。现在,您可以使用 Amazon SQS 队列在分布式应用程序组件和微服务之间存储和移动数据。