检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
routing_key 是 String 绑定键值,用于告知Exchange应该将消息投递到哪些Queue或Exchange中 destination_type 是 String 绑定目标端类型,Exchange或Queue。(AMQP版本只支持绑定Queue) 响应参数 状态码: 200
设置队列负载均衡 方案概述 在RabbitMQ集群上,由于扩容节点、删除队列等原因,会导致队列在各个节点分布不均衡,从而造成部分节点压力过大,无法更有效地利用集群。 这时候需要手动设置节点间队列的负载均衡,提升集群的利用率。设置队列负载均衡的方法如下: 删除队列重建 通过Policy修改master节点方式
实现网络异常时RabbitMQ客户端自动恢复 方案概述 由于服务端重启、网络抖动等原因造成客户端网络连接断开时,将导致客户端无法正常生产和消费消息。 通过在客户端侧设置重连机制,使客户端在网络连接断开时自动恢复连接,降低网络故障对业务的影响。以下场景会触发网络自动恢复: 在连接的I/O循环中抛出未处理的异常
RabbitMQ集群实例如何均衡分发请求到每个虚拟机? 集群内部使用LVS做负载均衡,由LVS将请求均衡分发到每个虚拟机节点。 父主题: 实例问题
为什么RabbitMQ集群只有一个连接地址? RabbitMQ集群实例的连接地址,实际上是实例的LVS节点地址(负载均衡地址),客户端连接实例时,通过负载均衡器将客户端请求分发到集群实例的各个节点。 图1 连接示意图 父主题: 连接问题
在“Exchange”页签中,在待绑定的Exchange后,单击“绑定”,弹出“绑定”页面。 单击“添加绑定”,弹出“添加绑定”对话框。 参考表1,设置绑定参数。 表1 绑定参数说明 参数 说明 类型 仅RabbitMQ 3.x.x版本包含此参数,RabbitMQ AMQP-0-9-1版本只支持绑定Queue。
实现RabbitMQ节点重启后消费者自动重连 方案概述 RabbitMQ的amqp-client虽然自带重连机制,但是自带的重连机制只会重试一次,重连失败后就不再执行。这时如果消费者没有做额外的重试机制,那么这个消费者就彻底断开与服务端的连接,无法消费消息。 amqp-clien
提高RabbitMQ性能 本章节介绍如何通过设置队列长度、集群负载均衡、优先队列数量等参数,实现RabbitMQ的高性能。 设置队列负载均衡 本章节介绍如何设置节点间队列的负载均衡,提升集群的利用率。 通过消息幂等实现消息去重 本章节描述了重复消息产生的原因,以及处理措施,避免因消息重复而对业务产生影响。
destination_type 是 String 绑定目标端类型,Exchange或Queue。(AMQP版本只支持Queue绑定类型) destination 是 String 绑定的目标端名称 properties_key 是 String 绑定路由键,经过URL转译后routing_
单击Vhost名称,进入Vhost详情页。 在“Exchange”页签中,在Exchange后,单击“绑定”,弹出“绑定”页面。 在待解绑的Exchange后,单击“解除绑定”,弹出“解除绑定”对话框。 解除绑定后,该路由将不再提供服务,且无法恢复,请谨慎操作。 单击“是”,完成Exchange的解绑。
在“Exchange”页签中,在待绑定的Exchange后,单击“绑定”,弹出“绑定”页面。 单击“添加绑定”,弹出“添加绑定”对话框。 参考表1,设置绑定参数。 表1 绑定参数说明 参数 说明 类型 仅RabbitMQ 3.x.x版本包含此参数。RabbitMQ AMQP-0-9-1版本只支持绑定Queue。
布式消息服务RabbitMQ版提供的一系列常用实践。 表1 常用最佳实践 实践 描述 设置队列负载均衡 扩容节点、删除队列可能会导致队列在各个节点分布不均衡,本文介绍如何设置队列负载均衡。
提高RabbitMQ性能 本章节基于吞吐量和可靠性两个指标,指导您通过设置队列长度、集群负载均衡、优先队列数量等参数,实现RabbitMQ的高性能。 使用较小的队列长度 队列中存在大量消息时,会给内存使用带来沉重的负担。为了释放内存,RabbitMQ会将消息刷新到磁盘。刷盘需要重
访问时延有所增加,因此建议仅在业务开发测试阶段开启公网访问RabbitMQ实例。 约束与限制 RabbitMQ控制台只支持绑定IPv4弹性IP地址,不支持绑定IPv6弹性IP地址。 前提条件 仅状态为“运行中”的实例,可以开启公网访问功能。 开启IPv4公网访问(RabbitMQ
BindingsDetails objects 绑定信息列表 表3 BindingsDetails 参数 参数类型 描述 source String Exchange名称 destination_type String 绑定目标类型 destination String 绑定目标的名称 routing_key
AMQP-0-9-1版本:支持。 多租户 支持 支持 支持 多协议支持 兼容RocketMQ协议。 只支持Kafka自定义协议。 RabbitMQ基于AMQP协议实现。 跨语言支持 支持多语言的客户端。 采用Scala和Java编写,支持多种语言的客户端。 支持多种语言的客户端。 流量控制 RocketMQ
需要额外启动一个线程,编写发送心跳的逻辑。 LVS的心跳超时时间 RabbitMQ集群实例使用LVS进行负载均衡,如图1所示,单节点实例不涉及LVS。 图1 集群实例的负载均衡 LVS对客户端连接设置了心跳超时时间,默认为90s。如果客户端在90s内没有向LVS发送心跳(AMQP
本章节指导如何在控制台删除Exchange。 约束与限制 删除Exchange后,该Exchange下的所有配置(包括Exchange和Exchange的绑定关系、Exchange和Queue的绑定关系)也会被删除,且无法恢复。 RabbitMQ 3.x.x版本中,默认Exchange不支持删除。 前提条件 已创建Exchange。
false:未开启 publicip_address String RabbitMQ实例绑定的弹性IP地址。 如果未开启公网访问功能,该字段值为null。 publicip_id String RabbitMQ实例绑定的弹性IP地址的ID。 如果未开启公网访问功能,该字段值为null。 man
通过消息幂等实现消息去重 方案概述 在RabbitMQ的业务处理过程中,如果消息重发了多次,消费者端对该重复消息消费多次与消费一次的结果是相同的,多次消费并没有对业务产生负面影响,那么这个消息处理过程是幂等的。消息幂等保证了无论消息被重复投递多少次,最终的处理结果都是一致的,避免了因消息重复而对业务产生影响。