检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
优先级队列 √ √ 插件 √ × Web UI √ × 重置实例密码 √ × 变更实例规格 √ √ 用户管理 在Web UI设置 在RabbitMQ控制台设置 消息查询 × √
需求使用分布式消息服务RabbitMQ版提供的一系列常用实践。 表1 常用最佳实践 实践 描述 设置队列负载均衡 扩容节点、删除队列可能会导致队列在各个节点分布不均衡,本文介绍如何设置队列负载均衡。
通过在客户端侧设置重连机制,使客户端在网络连接断开时自动恢复连接,降低网络故障对业务的影响。以下场景会触发网络自动恢复: 在连接的I/O循环中抛出未处理的异常 检测到Socket读取超时 检测到服务端心跳丢失 4.0.0及以上版本的Java客户端默认支持网络自动恢复,无需设置。 如果应用程序使用Connection
后重新为消费者创建新的通道继续消费。 提高RabbitMQ性能 本章节介绍如何通过设置队列长度、集群负载均衡、优先队列数量等参数,实现RabbitMQ的高性能。 设置队列负载均衡 本章节介绍如何设置节点间队列的负载均衡,提升集群的利用率。 通过消息幂等实现消息去重 本章节描述了重
时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问DMS for RabbitMQ时,需要先切换至授权区域。 权限根据授权精细程度分为角色和策略。
变更RabbitMQ实例规格 RabbitMQ实例创建成功后,您可以根据业务需要,扩容或者缩容实例,RabbitMQ实例支持的变更配置如表1和表2所示。 表1 变更配置列表(RabbitMQ 3.x.x版本) 实例类型 变更配置类型 是否支持扩容 是否支持缩容 集群 代理数量 √
RocketMQ Kafka RabbitMQ 优先级队列 不支持 不支持 3.8.35版本:支持。建议优先级大小设置在0-10之间。 AMQP-0-9-1版本:支持。优先级大小设置在1-9之间。 延迟队列 支持 不支持 3.8.35版本:不支持。 AMQP-0-9-1版本:支持。 死信队列
副本通过数据同步的方式保持数据一致,当网络发生异常或节点故障时,通过冗余副本自动故障切换,并且故障恢复后会从leader副本进行数据同步,保持数据一致性。 设置实例镜像队列 设置实例仲裁队列 数据持久化 业务系统日常运行中可能出现一些小概率的异常事件。部分可靠性要求非常高的业务系统,除了要求实例高可用,还要
Header Exchange 工作原理: 将一个Queue绑定到某个Header Exchange上,并设置绑定属性键值对。 将消息发送给Header Exchange时,需要设置消息的Header属性键值对,Header Exchange根据消息Headers属性键值对和绑定属性键值对的匹配情况路由消息。
查看RabbitMQ实例连接地址与端口 访问实例的用户名和密码 实例创建后,从实例的“基本信息”页签的“连接信息”中获取用户名。如果忘记了密码,单击“重置密码”,重新设置密码。
消息问题 RabbitMQ实例支持延时消息队列么? 消息堆积对业务的影响及解决办法 消息的最长保留时间是多久? 消息创建时间在哪设置? RabbitMQ生产消息的最大长度是多少?
长度为0~255个字符(中文也可以输入255个字符)。 由任意语种字母、数字、空格和字符组成,字符仅支持_ . : = + - @ 创建实例时设置的标签值,首尾字符不能为空格。 配置RabbitMQ实例标签 登录管理控制台。 在管理控制台左上角单击,选择RabbitMQ实例所在的区域。
Management,简称IAM),支持三种身份认证方式:用户名密码、访问密钥、临时访问密钥。同时还提供登录保护及登录验证策略。 访问控制 对企业中的员工设置不同的DMS for RabbitMQ访问权限,以达到不同员工之间的权限隔离,使用IAM进行精细的权限管理。该服务提供用户身份认证、权限分
同时其连接和释放依赖于心跳机制,过多的临时队列以及过多连接数会导致内存高水位,从而导致节点状态异常。 消减措施 已开启插件的实例,建议参考设置RabbitMQ告警规则,配置相应的告警,提前预知并消减风险。 替代方案 建议使用设备接入IoTDA服务替代MQTT插件。 下线影响 未开
发布到Queue的消息在被丢弃之前可以存活多长时间 lazy_mode 否 String 若设置惰性队列,请输入lazy。惰性队列模式会在磁盘上存储尽可能多的消息以减少内存使用;若不设置,队列将消息存储在内存缓存以尽可能快地传递消息。(AMQP版本默认将消息存储到磁盘,不涉及此字段)
Non-kafka queues do not support retention_hours. 非Kafka队列不能设置消息保存时间。 请检查是否是kafka队列,如果不是请不要设置消息保存时间 400 DMS.10240032 The queue is being created. 队列正在创建。
欠费后需要及时充值,详细操作请参见账户充值。 若不再使用RabbitMQ实例,您可以将他们删除,以免继续扣费。 您可以在“费用中心 > 总览”页面设置“可用额度预警”功能,当可用额度、通用代金券和现金券的总额度低于预警阈值时,系统自动发送短信和邮件提醒。当产生欠费后,请您及时充值使可用额度大于0。
消费端消费。 消减措施 已开启延迟消息插件的实例,建议分别为每个节点配置内存使用率告警,内存使用率达到40%将触发内存高水位,告警阈值建议设置为30%。如果触发告警,建议扩容代理规格,避免触发内存高水位。如果已经由于延迟消息导致高水位,建议加快消费,减少延迟消息堆积。 替代方案
批量资源开通自动续费:选择需要开通自动续费的RabbitMQ实例,单击列表左上角的“开通自动续费”。 图3 多个资源开通自动续费 选择续费时长,并根据需要设置自动续费次数,单击“开通”。 在“续费管理”页面开通的自动续费,自动续费周期以实际选择的续费时长以及自动续费次数为准。例如:您选择了续费时
确认。在channel中启用消费者确认适用于大多数场景。 以下示例演示在Java客户端配置消费者确认(使用Channel#basicAck设置basic.ack为肯定): // this example assumes an existing channel instance boolean