在最近的 re:Invent 2017 大会上,Amazon 推出了一项名为 Amazon MQ 的新服务。这是针对 Apache ActiveMQ 的一项消息代理托管服务,而 Apache ActiveMQ 是一个开源的企业级的消息代理,兼容大多数行业标准协议。Amazon 选中 ActiveMQ,就是因为它支持大多数行业标准协议。
Jeff Barr 是 AWS 的首席布道师,他在 AWS 的新闻博客中对此解释说:
作为一项托管服务,Amazon MQ 关注 ActiveMQ 的管理和维护功能。这包括代理提供、维护、故障检测与恢复,来保证高可用性和消息持久性。使用 Amazon MQ,你可以直接访问 ActiveMQ 控制台、行业标准 API 和通信协议,包括 JMS、NMS、AMQP、STOMP、MQTT 和 WebSocket。这使你可以从使用这些标准的任何其它消息代理迁移到 Amazon MQ,带着所有支持的应用,而且不用重写代码。
Amazon MQ 不需要在服务器上进行任何安装,可以使用 AWS 管理控制台、Amazon MQ REST API 或者命令行接口(Command Line Interface,CLI)来动态提供服务。在 Amazon MQ 控制台中,代理设置非常简单。通过设置名称、指定实例类型、部署方式和 Web 控制台访问凭据,就可以在几分钟内让代理准备就绪。
AWS 的高级产品经理 Trevor Dyck 在 AWS re:Invent 大会上介绍 Amazon MQ 消息代理托管服务时,列举了 Amazon MQ 的一些优势:
- 高可用性 Amazon MQ 的代理在生产设置中通过可用 / 备份部署来保证高可用性;在两个不同的可用区域(Availability Zone,AZ)配置了 2 个大型代理实例作为共享存储地址的冗余对。
- 安全性 数据在 TLS 和 rest 请求传输时都进行了加密,在消息仓库也进行了持久化加密。此外,Amazon MQ 默认集成了 Amazon VPC,用户可以设置安全组来进一步保证代理免受不必要的反问。
- 丰富的通信功能 例如队列和话题、本地和分布式事务、临时和持久性通信,以及不限制消息大小和消息保留期限。
- 迁移便利 通过提供一个导入功能,可以从现有的 ActiveMQ 迁移到 Amazon MQ。这个导入功能使用基于 spring 的 XML 文件,Amazon 去除其中一些配置,例如它们将会管理的消息仓库配置。
- 监控能力 由于 ActiveMQ 缺少监控能力,Amazon MQ 与 CloudWatch 集成,针对代理实例、话题、队列进行度量和分析,提供报警并协助自动扩展。
- 按需付费 使用 Amazon MQ 提供的服务时,客户只需要为实际运行的消息代理实例、存储空间和标准的数据传输费用付费。这项服务在美国、欧洲和澳大利亚可用。更多价格相关的信息可以在查看这里。
图片来源:(快照) https://www.youtube.com/watch?v=dCucC1SKkvI
各种供应商和公有云提供商提供消息代理。其中一些使用集群形式的固定基础设施进行传统的管理;其它供应商以云服务的形式提供。虽然 Amazon 已经为 Amazon SQS 和 Amazon SNS 消息代理的客户构建了云端扩展应用,但是对于那些现有的希望很便捷地迁移到云端的应用,Amazon 认为,Amazon MQ 会是一个合适的选择。
图片来源:(快照) https://www.youtube.com/watch?v=dCucC1SKkvI
许多前面提到的 Amazon MQ 拥有的优势,其它云端消息代理也有,例如微软的 Azure Service Bus 和谷歌的 Cloud Pub/Sub。但是,Amazon MQ 是伴随 Amazon SQS 和 Amazon SNS 云服务构建的,而不仅仅是为了将一个现有的类 ActiveMQ 的消息代理迁移到云端。
查看英文原文: Amazon Launches a New Message Broker Service in AWS
感谢罗远航对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论