检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
通过在客户端侧设置重连机制,使客户端在网络连接断开时自动恢复连接,降低网络故障对业务的影响。以下场景会触发网络自动恢复: 在连接的I/O循环中抛出未处理的异常 检测到Socket读取超时 检测到服务端心跳丢失 4.0.0及以上版本的Java客户端默认支持网络自动恢复,无需设置。 如果应用程序使用Connection
查看RabbitMQ实例连接地址与端口 访问实例的用户名和密码 实例创建后,从实例的“基本信息”页签的“连接信息”中获取用户名。如果忘记了密码,单击“重置密码”,重新设置密码。
在RabbitMQ实例控制台设置Exchange持久化。 创建Exchange时,设置Exchange持久化,如图3所示。 图3 设置Exchange持久化(控制台) 设置成功后如图4所示。 图4 持久化的Exchange(控制台) 设置Queue持久化 在RabbitMQ WebUI页面设置Queue持久化。
消费者与队列间的订阅异常:建议排查队列和消费者之间的订阅是否正常。 消费端的代码本身逻辑耗费时间长:建议给消息设置过期时间,设置方法如下: 在生产消息时,设置消息过期时间。消息过期时间以expiration值体现。 在properties中设置expiration值,单位为毫秒(ms)。 AMQP.BasicProperties
arguments); 以下示例演示在RabbitMQ WebUI页面设置单一活跃消费者。 图2 设置单一活跃消费者 设置完成后,在“Queues”页面查看队列特性是否包含单一活跃消费者。如图3所示,“SAC”即表示队列已设置单一活跃消费者。 图3 查看队列特性 父主题: 管理RabbitMQ
Exchange需要设置Routing Key,Exchange会将消息路由到Routing Key匹配成功的Queue中。如果不设置Routing Key,Exchange会将消息路由到所有与它绑定的Queue中。 x-consistent-hash Exchange需要设置Routing
选择准备工作中设置好的子网。 安全组 选择准备工作中设置好的安全组。 图4 设置实例网络环境信息 设置实例的访问方式,保持默认即可。 设置实例的认证方式,如图5所示,配置详情请参考表5。 表5 设置实例的认证方式 参数 说明 RabbitMQ认证方式用户名 设置连接RabbitMQ实例的用户名。
queueDeclare方法的时候在参数中设置,也可以通过Policy的方式设置。如果一个队列同时使用这两种方式设置的话,Policy的方式具备更高的优先级。 以下示例演示在Java客户端通过调用channel.queueDeclare设置惰性队列。 Map<String, Object>
Routing Key 设置Key值字符串,用于告知Exchange应该将消息投递到哪些Queue中。 Direct Exchange和Topic Exchange需要设置Routing Key,Exchange会将消息路由到Routing Key匹配成功的Queue中。如果不设置Routing
图3 设置Vhost策略 表1 策略参数说明 参数 说明 Virtual Host 设置策略所应用的Vhost。如果为指定的Vhost设置,请在“Virtual Host”选择3创建的Vhost;如果没有,则默认为“/”。 Name 策略的名称,用户自定义。 Pattern Queue的匹配模式(正则表达式)。
的标签。 您也可以直接在“标签键”和“标签值”中设置标签。 当前每个RabbitMQ实例最多支持设置20个不同标签,标签的命名规格,请参考配置RabbitMQ实例标签章节。 描述 设置实例的描述信息,长度为0~1024个字符。 设置实例购买时长。 当选择了“包年/包月”付费模式时
进入“费用中心 > 续费管理”页面。 自定义查询条件。 可在“到期转按需项”页签查询已经设置到期转按需的资源。 可对“手动续费项”、“自动续费项”、“到期不续费项”页签的资源设置到期转按需的操作。 设置包年/包月资源到期后转按需。 单个资源到期转按需:选择需要更改计费模式的RabbitMQ实例,单击操作列“更多
需求使用分布式消息服务RabbitMQ版提供的一系列常用实践。 表1 常用最佳实践 实践 描述 设置队列负载均衡 扩容节点、删除队列可能会导致队列在各个节点分布不均衡,本文介绍如何设置队列负载均衡。
优先级队列 √ √ 插件 √ × Web UI √ × 重置实例密码 √ × 变更实例规格 √ √ 用户管理 在Web UI设置 在RabbitMQ控制台设置 消息查询 × √
后重新为消费者创建新的通道继续消费。 提高RabbitMQ性能 本章节介绍如何通过设置队列长度、集群负载均衡、优先队列数量等参数,实现RabbitMQ的高性能。 设置队列负载均衡 本章节介绍如何设置节点间队列的负载均衡,提升集群的利用率。 通过消息幂等实现消息去重 本章节描述了重
最大优先级 仅RabbitMQ AMQP-0-9-1版本包含此参数。 设置Queue的优先级,取值范围为1~9。数值越大,优先级越高。 惰性队列模式 仅RabbitMQ 3.x.x版本包含此参数。 如果需要设置Queue为惰性队列,请输入“lazy”。 惰性队列会尽可能的将消息存
Non-kafka queues do not support retention_hours. 非Kafka队列不能设置消息保存时间。 请检查是否是kafka队列,如果不是请不要设置消息保存时间 400 DMS.10240032 The queue is being created. 队列正在创建。
副本通过数据同步的方式保持数据一致,当网络发生异常或节点故障时,通过冗余副本自动故障切换,并且故障恢复后会从leader副本进行数据同步,保持数据一致性。 设置实例镜像队列 设置实例仲裁队列 数据持久化 业务系统日常运行中可能出现一些小概率的异常事件。部分可靠性要求非常高的业务系统,除了要求实例高可用,还要
RocketMQ Kafka RabbitMQ 优先级队列 不支持 不支持 3.8.35版本:支持。建议优先级大小设置在0-10之间。 AMQP-0-9-1版本:支持。优先级大小设置在1-9之间。 延迟队列 支持 不支持 3.8.35版本:不支持。 AMQP-0-9-1版本:支持。 死信队列
Header Exchange 工作原理: 将一个Queue绑定到某个Header Exchange上,并设置绑定属性键值对。 将消息发送给Header Exchange时,需要设置消息的Header属性键值对,Header Exchange根据消息Headers属性键值对和绑定属性键值对的匹配情况路由消息。