RabbitMQ是一款基于AMQP协议的开源服务,用于在分布式系统中存储转发消息,服务器端用Erlang语言(支持高并发、分布式以及健壮的容错能力等特点)编写,支持多种语言的客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP、AJAX等。
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层的一个开放标准协议。
前提条件
在创建RabbitMQ专享版实例前,需要保证存在可使用的虚拟私有云。创建虚拟私有云的方法,请参考《虚拟私有云用户指南》。
如果您已有虚拟私有云,可重复使用,不需要多次创建。
操作步骤
步骤1 登录管理控制台。
步骤2 在管理控制台右上角单击,选择区域资源池。
说明此处请选择与您的应用服务相同的区域。
步骤3 在管理控制台左上角单击,选择“企业中间件 -> 分布式消息服务->RabbitMQ专享版”,进入分布式消息服务RabbitMQ专享版页面。
步骤4 单击页面右上方的“购买RabbitMQ实例”。
每个项目默认最多可以创建100个RabbitMQ专享版实例,如果您想创建更多实例,请联系客服申请增加配额。
步骤5 选择“计费模式”、“区域”、“项目”和“可用区”。
步骤6 设置“实例名称”和“企业项目”。
步骤7 设置实例信息。
- 版本:RabbitMQ的版本号,当前仅支持3.8.35、3.7.17。
- 实例类型:支持“单机”和“集群”。
- 单机:表示部署一个RabbitMQ代理。
- 集群:表示部署多个RabbitMQ代理,实现高可靠的消息存储。
- CPU架构:当前仅支持“x86计算”,保持默认值即可。
- 规格:根据实际情况选择规格。
说明为了保证服务的稳定可靠,RabbitMQ采用了默认的40%高水位配置。当内存占用率到达40%高水位后,会触发流控,生产者发送消息会被阻塞。为了避免高水位的产生,请及时消费积压在队列中的消息。
- 代理个数:根据实例情况选择代理个数。
- 存储空间:选择RabbitMQ实例的磁盘类型和存储空间总量。
- 单机实例的取值范围:100GB ~ 30000GB
- 集群实例的取值范围为:100GB * 代理数 ~ 30000GB * 代理数
- 虚拟私有云:选择已经创建好的虚拟私有云和子网。
虚拟私有云可以为您的RabbitMQ专享实例构建隔离的、能自主配置和管理的虚拟网络环境。
- 安全组:在“安全组”下拉列表,可以选择已经创建好的安全组。
安全组是一组对弹性云主机的访问规则的集合,为同一个VPC内具有相同安全保护需求并相互信任的弹性云主机提供访问策略。
您可以单击右侧的“管理安全组”,跳转到网络控制台的“安全组”页面,查看或创建安全组。
图1 设置实例信息
步骤8 设置连接RabbitMQ实例的用户名和密码。
步骤9 设置实例购买时长。
当选择了“包年/包月”付费模式时,页面才显示“购买时长”参数,您需要根据业务需要选择。
步骤10 单击“更多配置”,设置更多相关信息。
- 设置“公网访问”。
您可以选择是否打开公网访问开关。
如果选择了开启,表示访问RabbitMQ实例可以通过弹性IP访问。这时页面会显示“弹性IP地址”,在“弹性IP地址”区域,您可下拉选择已有的弹性IP。另外,您可单击右侧的“创建弹性IP”,跳转到网络控制台的弹性IP页面,购买弹性IP。
图2 购买RabbitMQ实例时公网访问设置
说明
公网访问与VPC内访问相比,可能存在网络丢包和抖动等情况,且访问时延有所增加,因此建议仅在业务开发测试阶段开启公网访问进行调试。
如果用户在虚拟私有云的服务页面手动解绑定或删除EIP,相应RabbitMQ实例的公网访问功能会自动关闭。
- 设置“SSL”。
客户端连接实例时SSL认证的开关。开启SSL,则数据加密传输,安全性更高。
SSL开关在实例创建完成后不支持修改,请明确是否需要开启 。
- 设置“标签”。
标签用于标识云资源,当您拥有相同类型的许多云资源时,可以使用标签按各种维度(例如用途、所有者或环境)对云资源进行分类。
- 如果您已经预定义了标签,在“标签键”和“标签值”中选择已经定义的标签键值对。另外,您可以单击右侧的“查看预定义标签”,系统会跳转到标签管理服务页面,查看已经预定义的标签,或者创建新的标签。
- 您也可以直接在“标签键”和“标签值”中设置标签。
当前每个RabbitMQ实例最多支持设置20个不同标签。
- 设置实例的描述信息。
步骤11 填写完上述信息后,单击“立即购买”,进入“规格确认”页面。
步骤12 确认实例信息无误且阅读并同意《分布式消息服务RabbitMQ服务等级协议》、《天翼云分布式消息服务协议》后,提交请求。
步骤13 在实例列表页面查看实例是否创建成功。
创建实例大约需要3到15分钟,此时实例的“状态”为“创建中”。
- 当实例的“状态”变为“运行中”时,说明实例创建成功。
- 如果创建实例失败,在信息栏的“创建失败任务”中查看创建失败的实例。请删除创建失败的RabbitMQ实例,然后重新创建。如果重新创建仍然失败,请联系客服。