Amazon MQ

全托管提供 Apache ActiveMQ 和 RabbitMQ,以最小代码变更将现有消息应用迁移到云端的消息代理服务

概述

Amazon MQ 是一项全托管提供 Apache ActiveMQ 和 RabbitMQ 两种开源消息代理引擎的服务。支持 JMS、AMQP、STOMP、MQTT、OpenWire 等行业标准协议,可将本地运行的现有消息应用无需大幅重写代码即可迁移到云端。代理的补丁、备份、故障转移全部自动化,开发者可专注于应用逻辑。

代理引擎选择与部署配置

Amazon MQ 提供 ActiveMQ 和 RabbitMQ 两种引擎。ActiveMQ 适合使用 JMS API 的 Java 企业应用,支持队列和主题两种消息模式。RabbitMQ 适合需要灵活路由 (交换机和绑定) 的场景,支持 AMQP 0-9-1 协议。部署配置可选单实例 (开发/测试用) 或活动/备用 (生产用)。活动/备用配置跨两个可用区部署,主代理故障时自动故障转移到备用代理,通常在 60 秒内完成。

ActiveMQ 的网络代理与持久化

ActiveMQ 引擎支持网络代理 (Network of Brokers) 配置,多个代理形成网格拓扑实现消息的分布式路由。这适合需要跨区域消息传递或超出单代理吞吐量限制的场景。持久化方面,ActiveMQ 使用 KahaDB 将消息持久化到 EBS,确保代理重启后消息不丢失。消息存储大小可配置最大 200 GB。死信队列 (DLQ) 自动捕获无法投递的消息,便于故障排查。

认证、加密与维护窗口

Amazon MQ 支持 LDAP 认证 (ActiveMQ) 和原生用户管理两种认证方式。传输中加密通过 TLS 实现,静态加密使用 KMS 密钥。VPC 内部署确保代理不暴露到公网。维护窗口每周执行一次,用于应用安全补丁和小版本升级。维护期间活动/备用配置会执行故障转移,单实例配置会有短暂停机。与 SQS/SNS 的选型:新应用优先选择 SQS/SNS (无服务器、自动扩缩),仅在需要标准协议兼容性或从现有消息系统迁移时选择 Amazon MQ。

共有するXB!