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

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

什么是消息队列?

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

免费试用 Amazon SQS

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

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


消息队列支持异步通信,这意味着创建和处理消息的端点将与队列进行交互,而不是彼此交互。生产者可以将请求添加到队列中,而无需等待请求处理。使用者仅在消息可用时才会处理消息。系统中没有任何组件会因为等待另一个组件而停滞不前,从而优化了数据流。


队列可以持久存储数据,并减少系统不同部分离线时发生的错误。通过利用消息队列分离不同的组件,可以提高容错性。如果系统的某个部分无法访问,另一部分仍然可以继续与队列进行交互。队列本身也可以进行镜像,从而进一步提高可用性。


消息队列可以精确地在需要的地方扩展。当工作负载达到峰值时,应用程序的多个实例都可以向队列添加请求,而不会出现冲突风险。随着这些传入请求的队列变长,您可以将工作负载分配给一组使用者。生产者、使用者和队列本身都可以根据需求增长和收缩。


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

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

使用消息队列分解您的整体式应用程序。多个程序可以通过在进程之间发送消息来交换信息(而不是在单个可执行文件中执行多个功能),从而使其更易于测试、调试、发展和扩展。

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

在没有服务器的情况下构建微服务、在服务器上部署或安装任何类型的软件后,就可以使用消息队列提供可靠、可扩展的无服务器通知、进程间通信,并查看无服务器功能和 PaaS。

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