检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
broker definitions”,导出元数据。 停止生产,等待数据消费完,然后删除原有队列。 在“Overview”页签中,确认数据是否已消费完。 可消费消息数(Ready)和未确认的消息数(Unacked)都为0时,说明消费完成。 等数据消费完后,删除原有队列。 在“Queue
RabbitMQ集群实例如何均衡分发请求到每个虚拟机? 集群内部使用LVS做负载均衡,由LVS将请求均衡分发到每个虚拟机节点。 父主题: 实例问题
为什么RabbitMQ集群只有一个连接地址? RabbitMQ集群实例的连接地址,实际上是实例的LVS节点地址(负载均衡地址),客户端连接实例时,通过负载均衡器将客户端请求分发到集群实例的各个节点。 图1 连接示意图 父主题: 连接问题
在单可用区或多可用区中部署实例 副本冗余 副本通过数据同步的方式保持数据一致,当网络发生异常或节点故障时,通过冗余副本自动故障切换,并且故障恢复后会从leader副本进行数据同步,保持数据一致性。 设置实例镜像队列 设置实例仲裁队列 数据持久化 业务系统日常运行中可能出现一些小概率的
RabbitMQ实例是否支持持久化,如何定时备份数据? RabbitMQ支持消息数据持久化,可从客户端连接RabbitMQ并设置消息持久化,也可在RabbitMQ集群管理工具界面创建队列时设置消息持久化。 不支持客户自定义定时备份数据,或从界面触发备份数据。 父主题: 实例问题
提高RabbitMQ性能 本章节基于吞吐量和可靠性两个指标,指导您通过设置队列长度、集群负载均衡、优先队列数量等参数,实现RabbitMQ的高性能。 使用较小的队列长度 队列中存在大量消息时,会给内存使用带来沉重的负担。为了释放内存,RabbitMQ会将消息刷新到磁盘。刷盘需要重
继续消费。 提高RabbitMQ性能 本章节介绍如何通过设置队列长度、集群负载均衡、优先队列数量等参数,实现RabbitMQ的高性能。 设置队列负载均衡 本章节介绍如何设置节点间队列的负载均衡,提升集群的利用率。 通过消息幂等实现消息去重 本章节描述了重复消息产生的原因,以及处理措施,避免因消息重复而对业务产生影响。
消费者根据messageID对消息进行幂等处理,示例代码如下: //创建一个以messageID为主键的数据库表,利用数据库主键去重的方式来处理RabbitMQ幂等。 //在消费者消费前先去数据库查询这条消息是否存在,如果存在表示消息已被消费,无需处理;如果不存在表示消息未被消费,执行消费操作
通过以下任意一种方法,查看监控数据。 在RabbitMQ实例名称后,单击“查看监控数据”。跳转到云监控页面,查看实例、节点和队列的监控数据,数据更新周期为1分钟。 单击RabbitMQ实例名称,进入实例详情页。在左侧导航栏单击“监控与告警 > 监控”,进入监控页面,查看实例、节点和队列的监控数据,数据更新周期为1分钟。
队列是否做镜像(即冗余备份)取决于用户的需要,如果用户设置了镜像,会在集群中多个代理上存储队列的副本,当某个代理故障,集群会从其他正常的代理中选择一个代理,用来同步队列数据。 父主题: 实例问题
布式消息服务RabbitMQ版提供的一系列常用实践。 表1 常用最佳实践 实践 描述 设置队列负载均衡 扩容节点、删除队列可能会导致队列在各个节点分布不均衡,本文介绍如何设置队列负载均衡。
AMQP-0-9-1版本:支持。 多租户 支持 支持 支持 多协议支持 兼容RocketMQ协议。 只支持Kafka自定义协议。 RabbitMQ基于AMQP协议实现。 跨语言支持 支持多语言的客户端。 采用Scala和Java编写,支持多种语言的客户端。 支持多种语言的客户端。 流量控制 RocketMQ
实现网络异常时RabbitMQ客户端自动恢复 方案概述 由于服务端重启、网络抖动等原因造成客户端网络连接断开时,将导致客户端无法正常生产和消费消息。 通过在客户端侧设置重连机制,使客户端在网络连接断开时自动恢复连接,降低网络故障对业务的影响。以下场景会触发网络自动恢复: 在连接的I/O循环中抛出未处理的异常
实现RabbitMQ节点重启后消费者自动重连 方案概述 RabbitMQ的amqp-client虽然自带重连机制,但是自带的重连机制只会重试一次,重连失败后就不再执行。这时如果消费者没有做额外的重试机制,那么这个消费者就彻底断开与服务端的连接,无法消费消息。 amqp-clien
队列的数据都会丢失。此时运维人员需要选择是否同步主队列的数据到从队列中,如果不同步数据,会增加消息丢失的风险。如果同步数据,同步时队列是阻塞的,无法对其进行操作。当队列中存在大量堆积消息时,同步会导致队列几分钟、几小时或者更长时间不可用。 仲裁队列解决了镜像队列的性能和同步问题。
实例持续提供服务。 AZ内实例容灾 RabbitMQ集群提供镜像队列,通过镜像在其他节点同步数据。单节点宕机时,仍可通过唯一的访问地址对外提供服务。 数据容灾 通过支持数据多副本方式实现数据容灾。 父主题: 安全
云监控无法展示RabbitMQ监控数据 RabbitMQ的队列名称以特殊字符开头,例如点号“.”,或者队列名称中包含空格时,可能会导致监控数据无法展示。建议删除带特殊字符或者空格的队列。 父主题: 监控告警问题
如何调用API 构造请求 认证鉴权 返回结果
构造请求 本节介绍REST API请求的组成,并以调用IAM服务的管理员创建IAM用户来说明如何调用API。 您还可以通过这个视频教程了解如何构造请求调用API:https://bbs.huaweicloud.com/videos/102987。 请求URI 请求URI由如下部分组成。
机制,主要用于不同系统间的数据交流和传递,在企业解决方案、金融支付、电信、电子商务、社交、即时通信、视频、物联网、车联网等众多领域都有广泛应用。 异步通信 将业务中属于非核心或不重要的流程部分,使用消息异步通知的方式发给目标系统,这样主业务流程无需同步等待其他系统的处理结果,从而达到系统快速响应的目的。