检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
配置RabbitMQ单一活跃消费者 单一活跃消费者(Single Active Consumer)表示队列中可以注册多个消费者,但是只允许一个消费者消费消息,只有在此消费者出现异常时,才会自动转移到另一个消费者进行消费。单一活跃消费者适用于需要保证消息消费顺序性,同时提供高可靠能力的场景。
告警级别:重要 可消费消息数过多表示消息堆积 请参考消息堆积的解决办法 未确认消息数 告警阈值:原始值>业务预期未确认消息数 连续触发次数:1 告警级别:重要 未确认消息数过多可能会导致消息堆积 检查消费者是否异常 检查消费者逻辑是否消耗时间过长 连接数 告警阈值:原始值>业务预期连接数 连续触发次数:1
在RabbitMQ实例控制台设置Queue持久化。 创建Queue时,设置Queue持久化,如图7所示。 图7 设置Queue持久化(控制台) 设置成功后如图8所示。 图8 持久化的Queue(控制台) 设置Message持久化 Queue设置为持久化后,可通过客户端设置“MessageP
L可以通过以下两种方法设置: 通过队列属性设置:队列中所有消息的具有相同的过期时间。 对消息本身单独设置:每条消息可以设置不同的TTL。 如果两种方法同时使用,以较小的TTL为准。 TTL是RabbitMQ中需要慎用的特性,它可能会对性能产生负面影响。 设置队列TTL 通过channel
别配置了正确的规则,客户端才能访问RabbitMQ实例。 建议ECS、RabbitMQ实例配置相同的安全组。安全组创建后,默认包含组内网络访问不受限制的规则。 如果配置了不同安全组,可参考如下配置方式: 假设ECS、RabbitMQ实例分别配置了安全组:sg-53d4、Default_All。
配置RabbitMQ消息预取值 设置预取值可以限制未被确认的消息个数,一旦消费者中未被确认的消息数量达到设置的预取值,服务端将不再向此消费者发送消息,除非至少有一个未被确认的消息被确认。设置预取值本质上是一种对消费者进行流控的方法。 设置预取值时,需要考虑多种因素: 预取值设置太
配置RabbitMQ惰性队列 默认情况下,RabbitMQ生产者生产的消息存储在内存中,当需要释放内存时,会将内存中的消息换页至磁盘中。换页操作会消耗较长的时间,且换页过程中队列无法处理消息。 如果生产速度过快(例如执行批处理任务),或者消费者由于各种原因(例如消费者下线、宕机)
创建Vhost 选择右侧导航栏“Policies”,为Vhost设置策略。 图3 设置Vhost策略 表1 策略参数说明 参数 说明 Virtual Host 设置策略所应用的Vhost。如果为指定的Vhost设置,请在“Virtual Host”选择3创建的Vhost;如果没有,则默认为“/”。
配置高级特性 配置RabbitMQ持久化 配置RabbitMQ TTL
配置Vhost 创建RabbitMQ Vhost 创建RabbitMQ Exchange 绑定RabbitMQ Exchange 创建RabbitMQ Queue 绑定RabbitMQ Queue 管理RabbitMQ Vhost 管理RabbitMQ Exchange 管理RabbitMQ
动态Policy 支持 支持 毒药消息(让消费者无限循环消费)处理 不支持 支持 全局消息预取(Qos) 支持 不支持 配置仲裁队列 在声明队列时,将队列的“x-queue-type”参数设置为“quorum”。此参数只能在声明队列时设置,不能通过Policy设置。 仲裁队列默认的复制因子是5。
单击“创建用户”,弹出“创建用户”对话框。 参考表1,设置用户名称和配置信息。 表1 用户参数说明 参数 说明 用户名 用户名支持自定义,但需要符合命名规则:长度为7~64个字符,由英文字母开头,只能由英文字母、数字、中划线、下划线组成。 用户名创建成功后,不可修改。 密码 设置用户的密码。 密码需要符合以下命名规则:
Hosts)相当于一个相对独立的RabbitMQ服务器。Vhost用作逻辑隔离,分别管理Exchange、Queue和Binding,使得应用安全地运行在不同的Vhost上,相互之间不会干扰。一个实例下可以有多个Vhost,一个Vhost里可以有若干个Exchange和Queue。生产者和消费者连接Rabbit
配置RabbitMQ实例的公网访问 当您需要通过公网地址访问RabbitMQ实例时,可开启实例的公网访问功能,并设置弹性IP地址。当业务不再使用公网访问功能时,也可以关闭实例的公网访问功能。 公网访问与VPC内访问相比,可能存在网络丢包和抖动等情况,且访问时延有所增加,因此建议仅
配置RabbitMQ死信消息 死信是RabbitMQ中的一种消息机制,在消费消息时,如果队列里的消息符合以下任意一种情况,那么该消息将成为“死信”。 “requeue”被设置为“false”,消费者使用“basic.reject”或“basic.nack”否定应答(NACK)消息。
长度为0~255个字符(中文也可以输入255个字符)。 由任意语种字母、数字、空格和字符组成,字符仅支持_ . : = + - @ 创建实例时设置的标签值,首尾字符不能为空格。 配置RabbitMQ实例标签 登录管理控制台。 在管理控制台左上角单击,选择区域。 此处请选择RabbitMQ实例所在的区域。
该指标用于统计RabbitMQ实例中的总队列数。 单位:个 0~7000 RabbitMQ实例 1分钟 consumers 消费者数 该指标用于统计RabbitMQ实例中的总消费者数。 单位:个 0~280000 RabbitMQ实例 1分钟 messages_ready 可消费消息数 该指标
Queue用于存储消息,每个消息都会被发送到一个或多个Queue中,生产者生产消息并最终投递到Queue中,消费者可以从Queue中拉取消息进行消费。 多个消费者可以订阅同一个Queue,此时Queue中的消息会被平均分摊给多个消费者进行处理,而不是每个消费者都收到所有的消息。 本章节指导如何在控制台创建Queue。
中由于消费者进程异常(如工作程序崩溃、重启等)导致消息丢失。 消费者确认在客户端上配置,通过配置basicConsume方法启用确认。在channel中启用消费者确认适用于大多数场景。 以下示例演示在Java客户端配置消费者确认(使用Channel#basicAck设置basic
RabbitMQ 3.x.x版本需要设置此参数。RabbitMQ AMQP-0-9-1版本Exchange默认开启持久化。 是否开启Exchange持久化。 开启:该Exchange在服务器重启后仍然存在。 不开启:该Exchange在服务器重启后会被删除,需要重新创建。 Internal