消息队列是一种异步的服务间通信方式,适用于无服务器和微服务架构。消息在被处理和删除之前一直存储在队列上。每条消息仅可被一位用户处理一次。消息队列可被用于分离重量级处理、缓冲或批处理工作以及缓解高峰期工作负载。
以下几项资源可帮助您更好地了解广义上的消息队列。要了解亚马逊云科技上的消息队列,请访问我们的 Amazon Simple Queue Service (SQS) 网站。
在现代云架构中,应用程序被分解为多个规模较小且更易于开发、部署和维护的独立构建块。消息队列可为这些分布式应用程序提供通信和协调。消息队列可以显著简化分离应用程序的编码,同时提高性能、可靠性和可扩展性。
借助消息队列,系统的不同部分可相互通信并异步执行处理操作。消息队列提供一个临时存储消息的轻量级缓冲区,以及允许软件组件连接到队列以发送和接收消息的终端节点。这些消息通常较小,可以是请求、恢复、错误消息或明文信息等。要发送消息时,一个名为“创建器”的组件会将消息添加到队列。消息将存储在队列中,直至名为“处理器”的另一组件检索该消息并执行相关操作。
许多创建器和处理器都可以使用队列,但一条信息只能由一个处理器处理一次。因此,这种消息收发模式通常称为一对一或点对点通信。如果消息需要由多个处理器进行处理,可采用扇出设计模式将消息队列与发布/订阅消息收发结合起来。请参阅“什么是发布/订阅消息收发?”了解详细信息,并访问我们的 Amazon Simple Notification Service (SNS) 网站了解有关亚马逊云科技上的发布/订阅消息收发的概述。