检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
配置RabbitMQ单一活跃消费者 单一活跃消费者(Single Active Consumer)表示队列中可以注册多个消费者,但是只允许一个消费者消费消息,只有在此消费者出现异常时,才会自动转移到另一个消费者进行消费。单一活跃消费者适用于需要保证消息消费顺序性,同时提供高可靠能力的场景
RabbitMQ相关概念 华为云使用RabbitMQ作为消息引擎,RabbitMQ是一个生产者和消费者模型,主要负责接收、存储和转发消息。以下概念基于RabbitMQ进行描述。 消息 消息一般分为两部分,消息体和标签,标签主要用来描述这条消息,消息体是消息的内容,是一个JSON体或者数据等
RabbitMQ支持的监控指标 功能说明 本章节定义了分布式消息服务RabbitMQ版上报云监控服务的监控指标的命名空间,监控指标列表和维度定义,用户可以通过云监控服务提供的管理控制台或API接口来检索RabbitMQ实例产生的监控指标和告警信息,也可以通过分布式消息服务RabbitMQ
配置RabbitMQ消息确认机制 RabbitMQ的消息确认机制分为生产者确认和消费者确认。在使用RabbitMQ时,生产者确认和消费者确认对于确保数据可靠性至关重要。如果连接失败,传输中的消息可能会丢失,需要重新传输。消息确认机制可以让服务端和客户端知道何时重新传输消息。客户端可以在收到消息时确认消息
实现RabbitMQ节点重启后消费者自动重连 方案概述 RabbitMQ的amqp-client虽然自带重连机制,但是自带的重连机制只会重试一次,重连失败后就不再执行。这时如果消费者没有做额外的重试机制,那么这个消费者就彻底断开与服务端的连接,无法消费消息。 amqp-client
与Kafka、RocketMQ的差异 表1 功能差异 功能项 RocketMQ Kafka RabbitMQ 优先级队列 不支持 不支持 3.8.35版本:支持。建议优先级大小设置在0-10之间。 AMQP-0-9-1版本:支持。优先级大小设置在1-9之间。 延迟队列 支持 不支持
创建RabbitMQ Queue Queue用于存储消息,每个消息都会被发送到一个或多个Queue中,生产者生产消息并最终投递到Queue中,消费者可以从Queue中拉取消息进行消费。 多个消费者可以订阅同一个Queue,此时Queue中的消息会被平均分摊给多个消费者进行处理,而不是每个消费者都收到所有的消息
测试RabbitMQ生产速率和消费速率 本章节从实例规格、是否开启SSL、生产者/消费者数量、队列数量、队列类型、Exchange类型的维度进行分布式消息服务RabbitMQ版的性能测试,对比客户端消息生产速率和消费速率,得出性能测试结果。 测试场景一(实例规格):相同Exchange
配置RabbitMQ惰性队列 默认情况下,RabbitMQ生产者生产的消息存储在内存中,当需要释放内存时,会将内存中的消息换页至磁盘中。换页操作会消耗较长的时间,且换页过程中队列无法处理消息。 如果生产速度过快(例如执行批处理任务),或者消费者由于各种原因(例如消费者下线、宕机)长时间内无法消费消息
配置RabbitMQ消息预取值 设置预取值可以限制未被确认的消息个数,一旦消费者中未被确认的消息数量达到设置的预取值,服务端将不再向此消费者发送消息,除非至少有一个未被确认的消息被确认。设置预取值本质上是一种对消费者进行流控的方法。 设置预取值时,需要考虑多种因素: 预取值设置太小可能会损害性能
创建RabbitMQ Vhost 每个Vhost(Virtual Hosts)相当于一个相对独立的RabbitMQ服务器。Vhost用作逻辑隔离,分别管理Exchange、Queue和Binding,使得应用安全地运行在不同的Vhost上,相互之间不会干扰。一个实例下可以有多个Vhost
开启RabbitMQ ACL访问 通过ACL可以实现对RabbitMQ实例中生产者和消费者身份的精确识别,为不同用户赋予不同的Vhost和Vhost下不同资源的权限,以达到不同用户之间权限隔离的目的。开启ACL权限控制功能后,生产消息和消费消息时,需要鉴权。 仅RabbitMQ AMQP
迁移RabbitMQ业务 RabbitMQ业务迁移主要涉及到以下两个场景: 将线下单机或集群实例迁移到线上RabbitMQ实例。 将低版本的RabbitMQ实例迁移到高版本的RabbitMQ实例,例如将3.7.17版本的RabbitMQ实例迁移到3.8.35版本的RabbitMQ实例
查看RabbitMQ Queue信息 Queue创建成功后,可以在控制台查看Queue基本信息、绑定关系和消费者信息。 前提条件 已创建Queue。 查看RabbitMQ Queue信息 登录管理控制台。 在管理控制台左上角单击,选择区域。 此处请选择RabbitMQ实例所在的区域
收集连接信息 实例连接地址与端口 实例创建后,从实例的“基本信息”页签的“连接信息”中获取。 图1 查看RabbitMQ实例连接地址与端口 访问实例的用户名和密码 实例创建后,从实例的“基本信息”页签的“连接信息”中获取用户名。如果忘记了密码,单击“重置密码”,重新设置密码。
查看RabbitMQ客户端连接地址 客户端连接RabbitMQ实例生产和消费消息时,可通过RabbitMQ WebUI查看客户端的连接地址。 RabbitMQ AMQP-0-9-1版本不支持通过RabbitMQ WebUI查看客户端的连接地址。 客户端处于连接RabbitMQ实例时
概述 本指南主要介绍RabbitMQ实例连接信息的收集,如获取RabbitMQ实例连接地址与端口、访问实例的用户名和密码,然后提供Python语言和Spring Boot的连接示例。 RabbitMQ实例完全兼容开源RabbitMQ协议,Python以外的语言,请参考RabbitMQ
使用Spring Boot连接RabbitMQ实例 本文介绍如何使用Spring Boot连接RabbitMQ实例进行消息的生产和消费。 使用前请参考收集连接信息收集RabbitMQ所需的连接信息。 本文的连接示例对于RabbitMQ 3.x.x版本与AMQP-0-9-1版本都适用
Python客户端使用说明 本文以Linux CentOS环境为例,介绍Python版本的RabbitMQ客户端连接指导,包括RabbitMQ客户端安装,以及生产、消费消息。 使用前请参考收集连接信息收集RabbitMQ所需的连接信息。 本文的连接示例对于RabbitMQ 3.x.x
绑定RabbitMQ Exchange 绑定Exchange是将Exchange和Exchange/Queue关联起来,在生产者发送消息到Exchange后,Exchange根据路由规则将消息发送到与其关联的Exchange/Queue中。 本章节指导如何在控制台绑定Exchange