检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
实现网络异常时RabbitMQ客户端自动恢复 方案概述 由于服务端重启、网络抖动等原因造成客户端网络连接断开时,将导致客户端无法正常生产和消费消息。 通过在客户端侧设置重连机制,使客户端在网络连接断开时自动恢复连接,降低网络故障对业务的影响。以下场景会触发网络自动恢复: 在连接的I/O循环中抛出未处理的异常
Routing Key 设置Key值字符串,用于告知Exchange应该将消息投递到哪些Queue中。 Direct Exchange和Topic Exchange需要设置Routing Key,Exchange会将消息路由到Routing Key匹配成功的Queue中。如果不设置Routing
单个资源开通自动续费 批量资源开通自动续费:选择需要开通自动续费的RabbitMQ实例,单击列表左上角的“开通自动续费”。 图3 多个资源开通自动续费 选择续费时长,并根据需要设置自动续费次数,单击“开通”。 在“续费管理”页面开通的自动续费,自动续费周期以实际选择的续费时长以及自
TL后,消息会被丢弃,如果队列设置了死信交换机,丢弃的消息会被转发到死信交换机,由死信交换机将其路由到死信队列。更多关于TTL的说明,请参考TTL。 RabbitMQ支持设置消息和队列的TTL,消息的TTL可以通过以下两种方法设置: 通过队列属性设置:队列中所有消息的具有相同的过期时间。
实现RabbitMQ节点重启后消费者自动重连 方案概述 RabbitMQ的amqp-client虽然自带重连机制,但是自带的重连机制只会重试一次,重连失败后就不再执行。这时如果消费者没有做额外的重试机制,那么这个消费者就彻底断开与服务端的连接,无法消费消息。 amqp-clien
Queue 本章节指导如何在控制台为Exchange解绑Queue。解绑Queue后,Exchange将无法把消息路由并存放到该Queue。 约束与限制 解绑Queue后,对应的路由将不再提供服务,且无法恢复,请谨慎操作。 前提条件 已创建Exchange。 已创建Queue。 Exchange已绑定Queue。
设置队列负载均衡 方案概述 在RabbitMQ集群上,由于扩容节点、删除队列等原因,会导致队列在各个节点分布不均衡,从而造成部分节点压力过大,无法更有效地利用集群。 这时候需要手动设置节点间队列的负载均衡,提升集群的利用率。设置队列负载均衡的方法如下: 删除队列重建 通过Policy修改master节点方式
Exchange需要设置Routing Key,Exchange会将消息路由到Routing Key匹配成功的Queue中。如果不设置Routing Key,Exchange会将消息路由到所有与它绑定的Queue中。 x-consistent-hash Exchange需要设置Routing
递消息,根据Exchange类型的路由规则路由消息。 x-consistent-hash:该类型Exchange会根据Routing Key计算出一个hash值,按照hash值将消息路由到对应的Queue中。 Exchange类型 “类型”设置为“x-delayed-message”时,页面显示此参数。
e”将死信消息发送到死信交换机中,并根据“x-dead-letter-routing-key”为死信消息设置死信路由Key。 以下示例演示在Java客户端配置死信交换机和路由: channel.exchangeDeclare("some.exchange.name", "direct");
消息创建时间在哪设置? 消息创建时间是由生产客户端在生产消息时设置的。 父主题: 消息问题
e。 前提条件 已创建Exchange。 Exchange或Queue已绑定Exchange。 约束与限制 解绑Exchange后,对应的路由将不再提供服务,且无法恢复,请谨慎操作。 为Exchange解绑目标Exchange 登录管理控制台。 在管理控制台左上角单击,选择RabbitMQ实例所在的区域。
RabbitMQ 3.x.x版本需要设置此参数。RabbitMQ AMQP-0-9-1版本Queue默认开启持久化。 是否开启Queue持久化。 开启:该Queue在服务器重启后仍然存在。 不开启:该Queue在服务器重启后会被删除,需要重新创建。 自动删除 是否开启自动删除Queue。 开启
建议在队列上设置最大长度。这样可以通过丢弃队列头部的消息来保持队列长度,队列长度永远不会大于最大长度设置。 最大长度可以通过Policy设置,也可以通过在队列声明时使用对应参数设置。 在RabbitMQ WebUI的Policy中设置。 在队列声明时使用对应参数设置。 //创建队列
将消息发送到Exchange中,Exchange根据路由键将消息发送到对应的Queue。 创建Queue Queue用于存储消息,每个消息都会被发送到一个或多个Queue中。 绑定Queue Exchange收到消息后,根据路由键将消息发送到绑定的Queue。 连接实例 客户端使
支持AMQP协议,支持普通消息、广播消息、死信、延迟消息等特性。 灵活路由 在RabbitMQ中,生产者将消息发送到交换器,由交换器将消息路由到队列中。交换器支持Direct、Topic、Headers和Fanout四种路由方式,同时支持交换机组合和自定义。 高可用 RabbitMQ集群
Exchange会将它路由给与绑定Queue时设置的Routing Key完全匹配的Queue。 路由规则: Direct Exchange会将消息路由到Routing Key完全匹配的Queue中。 应用场景: Direct Exchange常用于单播路由。 应用示例: 图1 Direct
消息。 消费者(Consumer) 接收消息的一方。消费者订阅RabbitMQ的队列,当消费者消费一条消息时,只是消费消息的消息体。在消息路由的过程中,会丢弃标签,存入到队列中的只有消息体。 队列(Queue) 队列是用于存储消息的,生产者将消息送到队列,消费者从队列中获取和消费
key_name Array of strings 监控查询使用的key。 dim_router Array of strings 监控维度路由。 children Array of children objects 子维度列表。 表4 children 参数 参数类型 描述 name
根据业务发展需要,您可以为集群实例扩容节点个数、开启公网访问开关、设置镜像队列。除此之外,您还可以实时查看监控指标及审计日志,以便及时了解RabbitMQ实例节点、队列等相关状态。 常用操作 修改实例信息 开启实例公网访问 设置实例镜像队列 变更实例规格 运维与监控 支持的监控指标 设置监控指标告警 支持的云审计操作列表