2017年,我们推出了Amazon MQ-面向Apache ActiveMQ的托管消息代理服务,这是一个流行的开源消息代理,速度快,功能丰富。它提供队列和主题、持久和非持久订阅、基于推送和基于投票的消息传递以及过滤。借助Amazon MQ,我们通过客户反馈增强了许多新功能,以提高高可扩展性和可用性,例如垂直扩展和具有99.9%服务级别协议(SLA)的吞吐量优化消息代理,以支持LDAP身份验证和授权,并在美国商业区构建合规应用程序,如HIPAA、ISO/PCI DSS、SOC和FIPS 140-2验证的终端。
不仅是ActiveMQ,RabbitMQ也是最流行的开源消息代理之一,也是大宗商品交易和订单处理软件等分布式应用程序的关键组件。一些客户选择RabbitMQ是因为它的功能丰富、活跃的社区支持以及广泛的支持客户端和框架。但是,RabbitMQ消息代理需要在创建和修补复杂集群部署所需的专业知识方面进行大量投资。那些愿意更换经纪人并转向托管服务的公司,不得不花费数周时间来更换他们的应用程序。
今天,我们推出了Amazon MQ for RabbitMQ,这是一项托管消息服务,可以降低管理RabbitMQ消息代理的公司的运营开销。数以千计的客户已经使用Amazon MQ来降低其消息传递基础设施的运营开销。通过添加RabbitMQ来扩展Amazon MQ应用程序兼容性,使更多公司从部署、扩展和操作消息代理的复杂性中解脱出来。
您可以继续使用首选代理,并拥有经济高效的可扩展报文传送功能,同时降低运营开销。Amazon MQ管理设置单个消息代理和群集消息代理所涉及的工作:从配置基础设施容量到安装消息传递软件。一旦启动并运行,Amazon MQ就会处理诸如修补操作系统和消息传递软件等管理任务。
Amazon MQ for RabbitMQ-开始创建新的RabbitMQ消息代理,您可以单击Amazon MQ控制台中的Get Started按钮,然后选择代理引擎,ActiveMQ或RabbitMQ提供对AMQP 0.9.1协议的本地支持,并为各种平台(包括Ruby、Python、Node.js、.NET等)提供客户端库。
下一步,选择RabbitMQ的部署模式。单代理部署将在一个可用区中有一个代理实例,集群部署将有一个由三个节点组成的逻辑分组,每个节点共享一个分布式状态、用户和队列。在群集部署中,数据跨多个可用区冗余存储,以提供消息持久性。
RabbitMQ集群支持传统的队列镜像,适用于需要高可用性的用例。镜像队列跨多个节点复制消息。如果托管队列的主节点出现故障,镜像节点将升级到主节点,从而实现不间断的可用性。
在下一步中,输入代理名称并选择实例类型。对于具有单实例代理部署的Free Tier,您可以选择mq.t3.Micro进行基本评估。输入用户名和密码以访问RabbitMQ Web控制台。
对于其他设置,您可以选择代理引擎版本,启用CloudWatch日志以将代理日志发布到Amazon CloudWatch,并将访问类型设置为虚拟私有云(VPC)外部或仅在VPC内。如果您选择私有访问,您可以分配vPC/子网以附加您的EC2实例和安全组,以定义授权来自需要访问您的Broker实例的所有EC2实例和设备的连接的规则。
单击Next(下一步)并检查您的设置,然后单击Create Broker(创建代理)按钮,您的代理将在5-10分钟内创建完毕并可供使用。
您可以通过一个简单的AWS命令行界面(CLI)命令为群集部署创建RabbitMQ代理:
$AWS MQ Create-Broker--Broker-name myRabbitCluster\ --部署模式CLUSTER_MULTI_AZ\ --引擎型Rabbitmq\ --引擎-版本3.8.6\ --主机实例类型mq.m5.Large\ --公开访问\ --用户ConsoleAccess=true,用户名=admin,密码=str0nGpass@#,组=admin。
创建新代理后,您用来访问代理的Web控制台URL和端点只需单击一下即可访问:
您可以通过提供的链接访问RabbitMQ Web控制台。我只是使用Pika Python客户端测试了这个代理:
代理将实例、主题和队列指标发布到CloudWatch。要了解更多信息,请阅读Amazon MQ for Rabbit MQ开发人员指南。
现在就有!Amazon MQ for RabbitMQ现已推出,您可以在Amazon MQ当前所在的所有地区开始使用它。有关详细信息,请参阅产品页面、定价和。请在Amazon MQ的AWS论坛或通过AWS支持或您的客户团队向我们发送反馈。