Amazon MQ 图标

Amazon MQ

类型
专业
推出
2017年

支持 Apache ActiveMQ 和 RabbitMQ 的全托管消息代理服务

它能做什么

Amazon MQ 是一项在云上轻松运营 Apache ActiveMQ 和 RabbitMQ 的全托管消息代理服务。无需修改代码即可将现有消息应用迁移到云端。支持 JMS、AMQP、STOMP、MQTT、OpenWire 等行业标准协议,便于从本地消息代理迁移。

使用场景

用于本地 ActiveMQ 或 RabbitMQ 的云迁移、遗留系统与云原生应用间的异步消息传递、微服务间的松耦合通信、订单处理系统的队列,以及 IoT 设备的 MQTT 消息接收。

日常类比

可以将其比作邮局。发件人 (生产者) 将信件 (消息) 交给邮局 (代理),在收件人 (消费者) 方便的时候送达。邮局建筑的管理和邮递员的安排全由 AWS 负责,用户只需关注信件内容。

什么是 Amazon MQ

Amazon MQ 是支持行业标准消息协议的托管消息代理。AWS 也有 SQS 和 SNS 等云原生消息服务,但它们使用专有 API。当现有本地应用依赖 ActiveMQ 或 RabbitMQ 的 API 和协议时,使用 Amazon MQ 可无需修改应用代码即可迁移到云端。

ActiveMQ 与 RabbitMQ 的选择

Amazon MQ 可选择 ActiveMQ 或 RabbitMQ 作为代理引擎。ActiveMQ 与 JMS (Java Message Service) 兼容性高,适合与 Java 企业应用集成。RabbitMQ 作为 AMQP 协议的参考实现被广泛采用,具有灵活的路由功能和高吞吐量。

高可用性与安全

Amazon MQ 支持多可用区配置,主代理故障时自动故障转移到备用代理。数据持久化到 EFS (ActiveMQ) 或 EBS (RabbitMQ),防止消息丢失。通信使用 TLS 加密,存储数据可使用 AWS KMS 加密。将代理部署在 VPC 内可实现网络级隔离。

注意事项

  • 新开发需要云原生消息时,应优先考虑 SQS 或 SNS 而非 Amazon MQ
  • 多可用区配置故障转移时会有数十秒停机,客户端需实现重连逻辑

可用区域

Amazon MQ 可在 37 个区域使用 (截至 2026-10-09)。

亚太地区:香港、台北、东京、首尔、大阪、孟买、海得拉巴、新加坡、悉尼、雅加达、墨尔本、马来西亚、新西兰、泰国

北美:加拿大 (中部)、加拿大西部 (卡尔加里)、墨西哥 (中部)、美国东部 (弗吉尼亚北部)、美国东部 (俄亥俄)、美国西部 (加利福尼亚北部)、美国西部 (俄勒冈)

南美洲:圣保罗

欧洲:法兰克福、苏黎世、斯德哥尔摩、米兰、西班牙、爱尔兰、伦敦、巴黎

AWS 欧洲主权云:德国

中东:以色列 (特拉维夫)、阿联酋、巴林

非洲:开普敦

AWS GovCloud (美国):AWS GovCloud (美国东部)、AWS GovCloud (美国西部)

查看按区域的服务一览

参考资料(AWS 官方)

本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。

如本页内容与官方文档不一致,请以官方文档为准。

分享