检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
消息创建时间在哪设置? 消息创建时间是由生产客户端在生产消息时设置的。 父主题: 消息问题
时间间隔大于90s的场景,请在客户端开启心跳并设置小于90s的心跳超时时间,防止客户端断连。如果心跳超时时间设置过低,在短暂网络抖动情况下可能会导致连接重建。如果心跳超时时间设置过长,可能导致集群进行主备切换时感知时间过长。推荐设置心跳超时时间为10s。 什么是心跳 Rabbit
由于服务端重启、网络抖动等原因造成客户端网络连接断开时,将导致客户端无法正常生产和消费消息。 通过在客户端侧设置重连机制,使客户端在网络连接断开时自动恢复连接,降低网络故障对业务的影响。以下场景会触发网络自动恢复: 在连接的I/O循环中抛出未处理的异常 检测到Socket读取超时 检测到服务端心跳丢失
RabbitMQ实例是否支持持久化,如何定时备份数据? RabbitMQ支持消息数据持久化,可从客户端连接RabbitMQ并设置消息持久化,也可在RabbitMQ集群管理工具界面创建队列时设置消息持久化。 不支持客户自定义定时备份数据,或从界面触发备份数据。 父主题: 实例问题
配置RabbitMQ消息预取值 设置预取值可以限制未被确认的消息个数,一旦消费者中未被确认的消息数量达到设置的预取值,服务端将不再向此消费者发送消息,除非至少有一个未被确认的消息被确认。设置预取值本质上是一种对消费者进行流控的方法。 设置预取值时,需要考虑多种因素: 预取值设置太小可能会损害性能
设置队列负载均衡 方案概述 在RabbitMQ集群上,由于扩容节点、删除队列等原因,会导致队列在各个节点分布不均衡,从而造成部分节点压力过大,无法更有效地利用集群。 这时候需要手动设置节点间队列的负载均衡,提升集群的利用率。设置队列负载均衡的方法如下: 删除队列重建 通过Policy修改master节点方式
通过队列属性设置:队列中所有消息的具有相同的过期时间。 对消息本身单独设置:每条消息可以设置不同的TTL。 如果两种方法同时使用,以较小的TTL为准。 TTL是RabbitMQ中需要慎用的特性,它可能会对性能产生负面影响。 设置队列TTL 通过channel.queueDeclare方法中
消费者确认对数据可靠性十分重要,接收重要消息的消费应用程序在未处理完消息前不应确认消息,以便消费者有足够的时间处理消息,无需担心消息处理过程中由于消费者进程异常(如工作程序崩溃、重启等)导致消息丢失。 消费者确认在客户端上配置,通过配置basicConsume方法启用确认。在channel中启用消费者确认适用于大多数场景。
地址是相同的,如图1所示,此时我们无法区分哪个是生产者IP地址,哪个是消费者IP地址。如果想要直观体现生产者/消费者IP地址,您可以在客户端中设置“clientProperties”参数,通过此参数来标明生产者/消费者IP地址,示例如下。 //配置客户端连接参数 HashMap<String
重置RabbitMQ实例密码 登录管理控制台。 在管理控制台左上角单击,选择RabbitMQ实例所在的区域。 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务RabbitMQ版”,进入分布式消息服务RabbitMQ专享版页面。 通过以下任意一种方法,重置实例密码。 在待重置密码的实例所在行,单击“更多
期为1分钟。 在实例监控指标页面中,找到需要创建告警的指标项,鼠标移动到指标区域,然后单击指标右上角的,进入“创建告警规则”页面。 在告警规则页面,设置告警信息。 创建告警规则操作,请查看创建告警规则。 设置告警名称和告警的描述。 设置告警策略和告警级别。 例如,在进行指标监控时
3.x.x版本 一般情况下消息如果未被消费会一直保留,只有被消费后,才会被删除。但是如果设置了过期时间(TTL),则以TTL时间为准。 RabbitMQ AMQP-0-9-1版本 如果消息设置了TTL,无论消息是否被消费,超过TTL后,消息将被删除或存入死信队列。TTL默认为48小时。
消费者与队列间的订阅异常:建议排查队列和消费者之间的订阅是否正常。 消费端的代码本身逻辑耗费时间长:建议给消息设置过期时间,设置方法如下: 在生产消息时,设置消息过期时间。消息过期时间以expiration值体现。 在properties中设置expiration值,单位为毫秒(ms)。 AMQP.BasicProperties
死信是RabbitMQ中的一种消息机制,在消费消息时,如果队列里的消息符合以下任意一种情况,该消息将成为“死信”。 “requeue”被设置为“false”,消费者使用“basic.reject”或“basic.nack”否定应答(NACK)消息。 消息在队列的存活时间超过设置的TTL时间。 队列的消息数量已经超过最大队列长度。
仅状态为“运行中”的实例,可以开启公网访问功能。 开启IPv4公网访问(RabbitMQ 3.x.x版本) 登录管理控制台。 在管理控制台左上角单击,选择RabbitMQ实例所在的区域。 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务RabbitMQ版”,进入分布式消息服务RabbitMQ专享版页面。
快速入门 场景描述 您可以根据业务需要创建相应计算能力和存储空间的RabbitMQ实例。 API调用方法请参考如何调用API。 前提条件 已获取IAM的Endpoint,具体请参见地区和终端节点。 已获取RabbitMQ的Endpoint,具体请参见地区和终端节点。 创建RabbitMQ实例
RabbitMQ部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问DMS for RabbitMQ时,需要先切换至授权区域。
false, arguments); 以下示例演示在RabbitMQ WebUI页面设置单一活跃消费者。 图2 设置单一活跃消费者 设置完成后,在“Queues”页面查看队列特性是否包含单一活跃消费者。如图3所示,“SAC”即表示队列已设置单一活跃消费者。 图3 查看队列特性 父主题:
nel.queueDeclare方法的时候在参数中设置,也可以通过Policy的方式设置。如果一个队列同时使用这两种方式设置的话,Policy的方式具备更高的优先级。 以下示例演示在Java客户端通过调用channel.queueDeclare设置惰性队列。 Map<String
积的数量在0左右。 对于经常受到消息峰值影响的应用程序,和对吞吐量要求较高的应用程序,建议在队列上设置最大长度。这样可以通过丢弃队列头部的消息来保持队列长度,队列长度永远不会大于最大长度设置。 最大长度可以通过Policy设置,也可以通过在队列声明时使用对应参数设置。 在RabbitMQ