亚马逊AWS官方博客

Amazon MQ – 用于 ActiveMQ 的托管消息代理服务

消息收发将分布式应用程序的各个部分组合在一起,同时还提高了弹性,支持实现高度可扩展的架构。例如,今年早些时候Amazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS) 提供了针对 Prime Day 客户订单处理的支持,共处理 400 亿条消息,速度为每秒 1000 万条,没有出现客户可觉察到的问题。

SQS 和 SNS 已广泛用于云原生应用程序。不过,我们的许多大客户都已经在使用开源或商业授权的消息代理。他们的应用程序是关键任务型的,因而提供后台支持的消息收发同样如此。我们的客户将消息收发基础设施的设置和持续维护描述为一个“非常痛苦的”过程,并声称他们每周至少花费 10 个人工小时来处理该事宜。

新的 Amazon MQ
今天,我们发布了 Amazon MQ,这是一项用于 Apache ActiveMQ 的托管消息代理服务,它让您只需三次单击,即可在数分钟内开始使用!您可能知道,ActiveMQ 是一个流行的开源消息代理,速度非常快且功能丰富。它提供了队列和主题、持久和非持久订阅、基于推送和基于轮询的消息收发以及筛选功能。

作为一项托管服务,Amazon MQ 负责 ActiveMQ 的管理和维护。这包括代理预配置、修补、高可用性的故障检测和恢复以及消息持久性等各项职责。借助 Amazon MQ,您可以直接访问 ActiveMQ 控制台以及用于消息收发的行业标准 API 和协议,包括 JMS、NMS、AMQP、STOMP、MQTT 和 WebSocket。这样您就可以从任何使用这些标准的消息代理迁移到 Amazon MQ – 随同支持的应用程序一起,而无需重写代码。

您可以创建一个单实例 Amazon MQ 代理用于开发和测试,或者创建跨可用区的主动/备用实例对,从而支持快速自动故障转移。无论采用哪种方式,您都可以实现跨可用区的数据复制,并且对代理实例和消息存储使用即用即付模式。

Amazon MQ 是 AWS 系列不可分割的一部分,包括使用 AWS Identity and Access Management (IAM) 进行身份验证和授权以使用服务 API。您可以使用 Amazon CloudWatch 指标全天候地监控诸如队列深度之类的指标,并根据需要启动使用者队列的 Auto Scaling 功能。

启动 Amazon MQ 代理
要开始使用,我先打开 Amazon MQ 控制台,选择所需的 AWS 区域,为我的代理输入名称,然后单击 Next step

接下来,我选择实例类型,指明我想要创建一个备用实例,然后单击 Create broker (我可以选择一个 VPC 并微调 Advanced settings 部分中的其他设置):

此时将创建我的代理,该代理会在 5 到 10 分钟内准备好投入使用:

只需单击一下,即可获得用来访问我的代理的 URL 和终端节点:

我可以通过下面提供的链接访问 ActiveMQ Web 控制台:

代理会将实例、主题和队列指标发布到 CloudWatch。下面列出了实例指标:

现已推出
Amazon MQ 现已发布,目前您可以在美国东部 (弗吉尼亚北部)美国东部 (俄亥俄)美国西部 (俄勒冈)欧洲 (爱尔兰)欧洲 (法兰克福)亚太地区 (悉尼) 区域中开始使用此服务。

通过 AWS 免费套餐,您可以每月使用单可用区微型实例长达 750 小时,并且每月可存储高达 1 GB 的数据,使用期限为一年。之后,将会根据实例小时数和消息存储进行计费;如果从 AWS 以外访问该代理,则还会收取 Internet 数据传输费用。

Jeff