在本教程中,您将学习如何使用 Amazon Simple Queue Service (Amazon SQS) 设置异步消息收发。Amazon SQS 是允许应用程序组件在云中通信的一种 AWS 服务。您将使用 Amazon SQS 控制台创建和配置消息队列,发送消息,接收和删除此消息,然后删除此队列。

您在本教程中使用的 AWS 服务包含在 AWS 免费套餐中。

在 AWS 上发送消息需要拥有账户

创建免费账户

AWS 免费套餐包含 100 000 个 Amazon Simple Queue Service (SQS) 请求。

查看 AWS 免费套餐详细信息 »

 


a.当您单击此处时,AWS 管理控制台将在新的浏览器窗口中打开,因此您可以将本分步指南保持打开状态。  此屏幕加载后,请输入您的用户名和密码以便开始操作。然后,在搜索栏中输入 queue 并选择 Simple Queue Service 以打开控制台。

(单击可缩放)


b.  如果 SQS 控制台登录页面显示(如屏幕截图所示),请单击 Get Started Now(立即开始使用)。如果您没有看到此页面,请跳至下一步。

(单击可缩放)

在此步骤中,您将创建和配置一个 Amazon SQS 队列。队列是一种可靠且高度可扩展的缓冲区,用于当消息在分布式应用程序或微服务间传送时存储它们。队列可以帮助解耦应用程序、连接微服务、批量处理任务或存储通知。

在本教程中,我们的使用案例将模拟从电子商务应用程序传入的订单的存储。


a.首先,我们将创建一个简单队列,用于存储在商店中所下的订单。在 Queue Name(队列名称)字段中输入 Orders。 

(单击可缩放)


b.在本教程中,我们不需要遵循严格的顺序,因此我们不会对队列类型进行任何更改。使 Standard Queue(标准队列)处于选中状态。 

(单击可缩放)


c.您可以配置您的队列,以修改保留期、消息大小上限和发送延迟等设置。在本教程中,我们将保留默认参数。选择 Quick-Create Queue(快速创建队列)。

(单击可缩放)


d.您的新队列随即会创建并在队列列表中处于选中状态。

(单击可缩放)

创建队列后,便可以接收来自在线商店的消息,以捕获每个新订单的详细信息。


a.  在列表中,您的队列处于选中状态。在 Queue Actions(队列操作)中,选择 Send a Message(发送消息)。Send a Message to Orders(向订单发送消息)对话框随即显示。

(单击可缩放)


b.Send a Message to Orders(向订单发送消息)对话框随即显示。在“Message Body”(消息正文)选项卡上,输入以下文本来代表示例订单:

1 x Widget @ $29.99 USD
2 x Widget Cables @ $4.99

(单击可缩放)


c.选择 Message Attributes(消息属性)选项卡,添加与此消息有关的某些可选元数据,以便轻松处理。我们来为此订单添加订单类型。在 Name(名称)字段中输入 Order-Type,在 Type(类型)字段中输入 String 并在 Value(值)字段中输入 Online。单击 Add Attribute(添加属性)。

(单击可缩放)


d.要立即发送消息,请单击 Send Message(发送消息)。Send a Message to Orders(向订单发送消息)对话框中随即会显示消息已发送的确认信息。单击 Close(关闭)。

(单击可缩放)

将消息发送到队列中后,其他应用程序可以从队列中使用该消息并对其进行处理。在本例中,您只需检索消息以查看订单,然后将其删除即可。


a.确保您的 Orders 队列在队列列表中处于选中状态。接下来,从 Queue Actions(队列操作)中,选择 View/Delete Messages(查看/删除消息)。

(单击可缩放)


b.View/Delete Messages in Orders(查看/删除订单中的消息)对话框随即显示。当您从队列中请求消息时,您不必指定请求具体消息,而应指定要检索的最大消息数量(最多 10 条)。

单击 Start Polling for messages(开始轮询消息),从队列中检索消息。 

(单击可缩放)


c.消费者收到并处理消息后,您可将其从队列中删除。选择要删除的消息,然后选择 Delete 1 Message(删除 1 条消息)。

(单击可缩放)


d.Delete Messages(删除消息)对话框随即显示。选中消息旁边的复选框,然后单击 Yes, Delete Checked Messages(是,删除所选消息)。所选消息将被删除。单击 Close(关闭)。

(单击可缩放)

当您不再需要使用 Amazon SQS 队列后,建议您最好删除该队列。


a.在队列列表中,选择 Orders 队列。然后,从 Queue Actions(队列操作)中,选择 Delete Queues(删除队列)。

(单击可缩放)


b.Delete Queues(删除队列)对话框随即显示。您仍然可以删除您的队列,即使队列中仍然有消息也是如此。选择 Yes, Delete Queue(是,删除队列)。队列将被删除。

(单击可缩放)

您已创建了第一个 Amazon Simple Queue Service (Amazon SQS) 消息队列,向队列发送了消息,检索并删除了消息,然后删除了队列。现在,您可以使用 Amazon SQS 队列在分布式应用程序组件和微服务之间存储和移动数据。

现在,您已经掌握了如何使用 Amazon Simple Queue Service 发送和接收消息,请从下面选择一个选项来进一步磨练您的消息收发技能。

了解更多

概要了解 Amazon Web Services (AWS) 上消息主题的功能、组件和使用案例。

访问 Amazon SNS 网页 »

深入了解

探索 Amazon Simple Queue Service 的不同类型队列、主要功能和架构。

阅读文档 »

查看实际效果

了解 Capital One 等客户如何使用 Amazon SQS 和 Amazon SNS 分离和扩展应用程序。

观看网络研讨会 »