检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
通过消息幂等实现消息去重 方案概述 在RabbitMQ的业务处理过程中,如果消息重发了多次,消费者端对该重复消息消费多次与消费一次的结果是相同的,多次消费并没有对业务产生负面影响,那么这个消息处理过程是幂等的。消息幂等保证了无论消息被重复投递多少次,最终的处理结果都是一致的,避免了因消息重复而对业务产生影响。
如果通道连接的是队列所在的节点,消费者就会收到一个shutdown信号。这时amqp-client的重连机制就会生效,尝试重新连接服务端。如果连接成功,这个通道就会继续连接消费。如果连接失败,就会执行channel.close方法,关闭这个通道。 如果通道连接的不是队列所在的节点,消
实现网络异常时RabbitMQ客户端自动恢复 方案概述 由于服务端重启、网络抖动等原因造成客户端网络连接断开时,将导致客户端无法正常生产和消费消息。 通过在客户端侧设置重连机制,使客户端在网络连接断开时自动恢复连接,降低网络故障对业务的影响。以下场景会触发网络自动恢复: 在连接的I/O循环中抛出未处理的异常
体的IP地址。 ECS所在安全组需要增加如下规则,以保证客户端能正常访问RabbitMQ实例。 图1 配置ECS安全组 表1 安全组规则 方向 协议端口 目的地址 出方向 全部放通 Default_All RabbitMQ实例所在安全组需要增加如下规则,以保证能被客户端访问。 图2
自动删除不再使用的队列 客户端可能连接失败导致队列被残留,大量的残留队列会影响实例的性能。RabbitMQ提供三种自动删除队列的方法: 在队列中设置TTL策略:例如TTL策略设置为28天,当持续28天队列未被使用时,此队列将被删除。 使用auto-delete队列:当最后一个消费者
查询用户列表 功能介绍 查询用户列表(仅AMQP版本支持)。 调用方法 请参见如何调用API。 URI GET /v2/{project_id}/instances/{instance_id}/users 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String
查询所属Vhost下Queue的列表 功能介绍 查询所属Vhost下Queue的列表。 调用方法 请参见如何调用API。 URI GET /v2/rabbitmq/{project_id}/instances/{instance_id}/vhosts/{vhost}/queues
继续消费。 提高RabbitMQ性能 本章节介绍如何通过设置队列长度、集群负载均衡、优先队列数量等参数,实现RabbitMQ的高性能。 设置队列负载均衡 本章节介绍如何设置节点间队列的负载均衡,提升集群的利用率。 通过消息幂等实现消息去重 本章节描述了重复消息产生的原因,以及处理措施,避免因消息重复而对业务产生影响。
RabbitMQ实例是否支持跨VPC访问? RabbitMQ实例支持跨VPC访问,可以通过创建VPC对等连接,将两个VPC的网络打通,实现跨VPC访问实例。 关于创建和使用VPC对等连接,请参考VPC对等连接说明。 父主题: 连接问题
查询产品规格列表 功能介绍 查询产品规格列表。 调用方法 请参见如何调用API。 URI GET /v2/{engine}/products 表1 路径参数 参数 是否必选 参数类型 描述 engine 是 String 消息引擎的类型。 表2 Query参数 参数 是否必选 参数类型
如何获取region id? 获取region id的方法如下: 进入地区和终端节点页面。 页面表格中“区域”列,即为region id。 父主题: 实例问题
查询新规格可扩容规格列表 功能介绍 查询新规格实例可扩容列表 调用方法 请参见如何调用API。 URI GET /v2/{engine}/{project_id}/instances/{instance_id}/extend 表1 路径参数 参数 是否必选 参数类型 描述 engine
请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对于管理员创建IAM用户接口,如果调用后返回状态码为“201”,则表示请求成功。 响应消息头 对应请求消息头,响应同样也有
查询Exchange绑定信息列表 功能介绍 查询Exchange绑定信息列表。 调用方法 请参见如何调用API。 URI GET /v2/rabbitmq/{project_id}/instances/{instance_id}/vhosts/{vhost}/exchanges/{exchange}/binding
查询Exchange列表 功能介绍 查询Exchange列表。 调用方法 请参见如何调用API。 URI GET /v2/rabbitmq/{project_id}/instances/{instance_id}/vhosts/{vhost}/exchanges 表1 路径参数 参数
在“Queues”页签,单击需要删除的队列名称,进入队列详情页面。 图1 队列列表 单击“Delete Queue”,删除单个队列。 图2 删除单个队列 批量删除Queue(RabbitMQ WebUI) 新增与待删除队列的前缀名称相同、且队列TTL为1ms的策略,通过此策略实现批量删除队列。 登录RabbitMQ
表4 Queue差异 功能项 AMQP-0-9-1版本 开源RabbitMQ 队列类型 无需配置,分布式高可用集群。 需要配置,支持以下类型: Classic:经典镜像队列。 Quorum:仲裁队列。 节点 无需配置,服务免运维。 需要配置,可选择节点。 持久化 默认持久化。 支持持久化和非持久化。
迁移原理 在实际业务场景中,RabbitMQ实例存在多个生产者和消费者,在业务迁移时,不会迁移数据,只是通过逐个增加/关闭消费者、生产者的方式迁移实例,这种迁移方式可以实现业务无感迁移。 前提条件 已创建目标RabbitMQ实例,具体请参考购买RabbitMQ实例。 实施方案(双读模式迁移实例)
从“弹性IP地址”下拉列表中选择一个弹性IP,然后单击,开启公网访问功能。 如果“弹性IP地址”下拉列表没有值,可单击“创建弹性IP”,跳转到弹性公网IP页面,您可以申请一个新的弹性IP。弹性IP申请完后,返回RabbitMQ控制台,单击“弹性IP地址”后的,然后在下拉列表中选择新申请的弹性IP。
配置RabbitMQ镜像队列 镜像队列是指允许集群将队列镜像到其他节点上,当集群某一节点宕机后,队列能自动切换到镜像中的其他节点,保证服务的可用性。 本章节指导如何在RabbitMQ WebUI为Vhost配置镜像队列策略,满足策略条件的队列将成为镜像队列。 约束与限制 RabbitMQ