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 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。