在现代云架构中,应用程序被分解为多个规模较小且更易于开发、部署和维护的独立构建块。消息队列可为这些分布式应用程序提供通信和协调。

消息队列可以显著简化分离应用程序的编码,同时提高性能、可靠性和可扩展性。此外,您还可以采用扇出设计模式将消息队列与发布/订阅消息收发结合起来。

什么是消息队列?

只需三个简单的命令即可开始使用 Amazon Simple Queue Service (SQS)。

免费试用 Amazon SQS

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

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


消息队列支持异步通信,这意味着创建和处理消息的终端节点将与队列进行交互,而不是彼此交互。创建器可以将请求添加到队列中,无需再等待这些请求接受处理。处理器仅在消息可用时才会处理消息。系统中的任何组件都不会停下等待其他组件,从而优化了数据流。


队列可永久保留您的数据,并减少系统的不同部件离线时发生的错误。通过利用消息队列分离不同的组件,可以提高容错性。即使系统的某一部分无法访问,其他部分也仍可继续与队列进行交互。队列本身也可以进行镜像,以提供更高的可用性。


消息队列可根据您的需要精确扩展。当工作负载到达峰值时,应用程序的多个实例都可以将请求添加到队列,而且不会产生冲突。随着队列因这些传入请求的增多而越来越长,您可以将这些工作负载分发给一组处理器。创建器、处理器和队列本身都可以按需扩展和缩减。


消息队列消除了组件之间的依赖关系,并显著简化了分离应用程序的编码。软件组件不必承担通信代码的重压,而是可以在经过设计后执行离散的业务功能。

无论您使用的是整体式应用程序、微服务还是无服务器架构,消息队列都是一种简单且出色的应用程序分离方法。

使用消息队列分解您的整体式应用程序。多个程序可以通过在流程间发送消息来交换信息,而无需在单个可执行文件中执行多个函数,从而令应用程序更易于测试、调试、发展和扩展。

基于事件和异步消息收发的微服务集成模式优化了可扩展性和弹性。使用消息队列服务可协调多个微服务、通知微服务数据发生变更或作为事件传输管道来处理 IoT、社交媒体和实时数据。

构建了无服务器的微服务、部署到服务器上或安装了任何类型的软件后,您就可以使用消息队列来提供可扩展的可靠无服务器通知、进程间通信以及无服务器功能和 PaaS 的可见性。

只需三个简单的命令即可免费试用。