检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
生不同的错误。 如果通道连接的是队列所在的节点,消费者就会收到一个shutdown信号。这时amqp-client的重连机制就会生效,尝试重新连接服务端。如果连接成功,这个通道就会继续连接消费。如果连接失败,就会执行channel.close方法,关闭这个通道。 如果通道连接的不
RabbitMQ实例的Web管理页面无法打开 可能原因:实例安全组配置不正确 解决方案:重新配置安全组,具体步骤如下。 在实例详情页面的“基本信息 > 网络”,单击安全组名称,跳转到安全组页面。 选择“入方向规则”,查看安全组入方向规则。 实例未开启SSL开关,需要允许端口15672的访问。
多(数十万甚至数百万条)可能触发内存高水位阻塞生产消息,具体请参见Limitations。 延迟消息堆积数量越多,RabbitMQ节点启动加载耗时越久,可能导致节点重启后无法快速恢复业务。 延迟消息在RabbitMQ中为单副本存储,如果该节点发生重启,该节点上的延迟消息无法被消费端消费。
实例是否支持修改可用区? 不支持,您可以重新购买实例,以满足可用区要求,然后进行实例元数据的迁移。 RabbitMQ 3.x.x版本实例元数据的迁移步骤如下: 登录重新购买前的RabbitMQ实例的WebUI页面。 在“Overview”页签中,单击“Download broker
重置RabbitMQ实例密码 如果您忘记了创建实例时设置的密码,可以通过重置密码功能,重新设置一个新的密码,使用新密码连接RabbitMQ实例。 约束与限制 RabbitMQ AMQP-0-9-1版本不支持重置实例密码。 前提条件 RabbitMQ实例处于“运行中”状态时,才能重置密码。
RabbitMQ时,生产者确认和消费者确认对于确保数据可靠性至关重要。如果连接失败,传输中的消息可能会丢失,需要重新传输。消息确认机制可以让服务端和客户端知道何时重新传输消息。客户端可以在收到消息时确认消息,也可以在客户端完全处理完消息后确认。 生产者确认会影响性能,如果需要很高
间间隔为心跳超时时间的一半。客户端在两次错过心跳后,会被认为是不可达的,TCP连接将被关闭。当客户端检测到服务端由于心跳而无法访问时,需要重新连接。更多关于心跳的说明,请参考Detecting Dead TCP Connections with Heartbeats and TCP
单机RabbitMQ实例如何变更为集群实例? 单机RabbitMQ实例不支持变更为集群实例。如果您需要使用集群RabbitMQ实例,建议重新创建实例,然后将业务迁移到新RabbitMQ实例中。 父主题: 实例问题
生产者发送消息时,消息成功发送至服务端。如果此时发生网络闪断,导致生产者未收到服务端的响应,此时生产者会认为消息发送失败,因此尝试重新发送消息至服务端。当消息重新发送成功后,在服务端中就会存在两条内容相同的消息,最终消费者会消费到两条内容一样的重复消息。 消费者消费消息时发生消息重复:
查看RabbitMQ实例连接地址与端口 访问实例的用户名和密码 实例创建后,从实例的“基本信息”页签的“连接信息”中获取用户名。如果忘记了密码,单击“重置密码”,重新设置密码。
AMQP-0-9-1版本Queue默认开启持久化。 是否开启Queue持久化。 开启:该Queue在服务器重启后仍然存在。 不开启:该Queue在服务器重启后会被删除,需要重新创建。 自动删除 是否开启自动删除Queue。 开启:在订阅该Queue消息的最后一个消费者取消订阅该Queue的消息后,该Queue会被自动删除。
现。 事务消息 不支持。 支持。 顺序消息 不支持。 支持。 消息优先级 支持。 支持。 消息重试机制 支持。消息消费超过一定时间未响应会重新投递。重试间隔时间为1分钟,最多重试16次,超过则会丢弃或发送至死信Exchange。 不支持。 监控指标 指标丰富,维度可精确到Vhos
当实例的“状态”变为“运行中”时,说明实例创建成功。 当实例的“状态”变为“创建失败”,请删除创建失败的RabbitMQ实例,然后重新购买。如果重新购买仍然失败,请联系客服。 实例创建成功后,单击实例名称,进入实例详情页。 在“连接信息”区域,查看并记录连接地址。 图7 连接地址
是否持久化(AMQP版本默认持久化,不涉及此字段) dead_letter_exchange 否 String 死信Exchange名称,消息被拒绝或过期时将重新发布到该Exchange。 dead_letter_routing_key 否 String 死信Exchange的RoutingKey,
当实例的“状态”变为“运行中”时,说明实例创建成功。 当实例的“状态”变为“创建失败”,请参考删除RabbitMQ实例,删除创建失败的RabbitMQ实例,然后重新购买。如果重新购买仍然失败,请联系客服。 自定义购买RabbitMQ实例(3.x.x版本) 进入购买RabbitMQ实例页面。 在“自定义购买”页签中,设置实例基础配置。
的消息收发。这种场景下,建议您启用惰性队列。 惰性队列(Lazy Queue)会尽可能的将消息存入磁盘中,在消费者消费到相应的消息时才会被加载到内存中,这样可以减少内存的消耗,但是会增加I/O的使用,影响单个队列的吞吐量。惰性队列的一个重要的设计目标是能够支持更长的队列,即支持更多的消息存储/消息堆积。
queueDeclare方法中的“x-expires”参数控制队列被自动删除前处于未使用状态的时间。未使用是指队列中没有任何消费者,也没有被重新声明,并且在过期时间前也未调用过Basic.Get命令。“x-expires”参数的值必须为非零整数,单位为ms。 以下示例演示在Java客户端设置队列TTL。
是否开启Exchange持久化。 开启:该Exchange在服务器重启后仍然存在。 不开启:该Exchange在服务器重启后会被删除,需要重新创建。 Internal 仅RabbitMQ 3.x.x版本包含此参数。 Exchange是否为RabbitMQ内部使用。 是:该Exch
步给从队列,所有的从队列都保存消息后,主队列才会向生产者发送确认。 RabbitMQ使用集群部署时,如果其中一个节点故障下线,待它消除故障重新上线后,它保存的所有从队列的数据都会丢失。此时运维人员需要选择是否同步主队列的数据到从队列中,如果不同步数据,会增加消息丢失的风险。如果同
业务的影响。 实现RabbitMQ节点重启后消费者自动重连 本章节提供了RabbitMQ节点重启后消费者自动重连示例代码,实现在通道关闭后重新为消费者创建新的通道继续消费。 提高RabbitMQ性能 本章节介绍如何通过设置队列长度、集群负载均衡、优先队列数量等参数,实现RabbitMQ的高性能。