检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
配置RabbitMQ镜像队列 镜像队列是指允许集群将队列镜像到其他节点上,当集群某一节点宕机后,队列能自动切换到镜像中的其他节点,保证服务的可用性。 本章节指导如何在RabbitMQ WebUI为Vhost配置镜像队列策略,满足策略条件的队列将成为镜像队列。
队列是否做镜像(即冗余备份)取决于用户的需要,如果用户设置了镜像,会在集群中多个代理上存储队列的副本,当某个代理故障,集群会从其他正常的代理中选择一个代理,用来同步队列数据。 父主题: 实例问题
仲裁队列与镜像队列的差异 仲裁队列是RabbitMQ 3.8版本引入的队列类型,它与镜像队列拥有类似的功能,为RabbitMQ提供高可用的队列。镜像队列有一些设计上的缺陷,这也是RabbitMQ提供仲裁队列的原因。 镜像队列主要的缺陷在于消息同步的性能低。
AZ内实例容灾 RabbitMQ集群提供镜像队列,通过镜像在其他节点同步数据。单节点宕机时,仍可通过唯一的访问地址对外提供服务。 数据容灾 通过支持数据多副本方式实现数据容灾。 父主题: 安全
RabbitMQ引入镜像队列机制,镜像队列是开源RabbitMQ 2.6.0版本新增的一个功能,允许集群将队列镜像到其他代理上,当集群某一代理宕机后,队列能自动切换到镜像中的其他代理,保证服务的可用性。
RabbitMQ实例的存储空间估算参考 在集群模式中,RabbitMQ需要对消息持久化写入到磁盘中,因此,您在创建RabbitMQ实例选择存储空间时,建议根据业务消息体积预估以及镜像队列副本数量选择合适的存储空间。镜像队列副本数最大为集群的代理数。
管理RabbitMQ Queue 查看RabbitMQ Queue信息 清空RabbitMQ Queue消息 解绑RabbitMQ Queue 配置RabbitMQ镜像队列 配置RabbitMQ惰性队列 配置RabbitMQ仲裁队列 配置RabbitMQ单一活跃消费者 删除RabbitMQ
表1 版本功能差异 功能项 3.8.35 AMQP-0-9-1 SSL √ × 公网访问 在RabbitMQ控制台开启公网 × 仲裁队列 √ × 镜像队列 √ × 优先级队列 √ √ 插件 √ × Web UI √ × 重置实例密码 √ × 变更实例规格 √ √ 用户管理 在Web
镜像队列:镜像队列的生产速率低于经典队列,因为在每次发布消息时,镜像队列需要将消息复制到所有镜像节点,过程中增加了网络传输和节点处理的负担。 仲裁队列:单队列时,消费速率高于生产速率,可能是因为仲裁队列需要在每次写入时进行一致性检查,从而影响了生产速率。
单机实例和没有配置镜像/仲裁队列的集群实例在变更规格过程中会有分钟级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。 配置了镜像/仲裁队列的集群实例在变更规格过程中会有秒级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。
设置实例镜像队列 设置实例仲裁队列 数据持久化 业务系统日常运行中可能出现一些小概率的异常事件。部分可靠性要求非常高的业务系统,除了要求实例高可用,还要求数据安全、可恢复,以便在实例发生异常后能够使用备份数据进行恢复,保障业务正常运行。 消息持久化 父主题: 安全
Web控制台方式购买 购买RabbitMQ实例 API方式创建 创建RabbitMQ实例 04 使用 根据业务发展需要,您可以为集群实例扩容节点个数、开启公网访问开关、设置镜像队列。
Definition:镜像定义。填写“ha-mode”和“ha-params”参数。其中“ha-mode”设置为“nodes”,“ha-params”设置为队列希望迁移到的目的节点名称。 单击“Add policy”。
RabbitMQ 3.x.x版本配置了镜像/仲裁队列的集群实例在变更规格过程中会有秒级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。
区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。
需要配置,支持以下类型: Classic:经典镜像队列。 Quorum:仲裁队列。 节点 无需配置,服务免运维。 需要配置,可选择节点。 持久化 默认持久化。 支持持久化和非持久化。 Max length 无需配置,支持海量消息堆积。
采用生产者确认的发送模式,并监控生产端消息生产速度和时长,当消息生产时长有明显增加时进行流控措施 CPU使用率 告警阈值:原始值>业务预期使用率(推荐70%) 连续触发次数:连续3~5个周期 告警级别:重要 该指标需要分别为每个节点设置CPU使用率告警,CPU使用率过高可能会影响生产速度 减少镜像队列个数
创建RabbitMQ Queue Queue用于存储消息,每个消息都会被发送到一个或多个Queue中,生产者生产消息并最终投递到Queue中,消费者可以从Queue中拉取消息进行消费。
消费模式 支持客户端主动拉取和服务端推送两种方式。 客户端主动拉取。 支持客户端主动拉取和服务端推送两种模式。 广播消费 支持 支持 支持 消息回溯 支持 支持。Kafka支持按照offset和timestamp两种维度进行消息回溯。 3.8.35版本:不支持。