检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
配置高级特性 配置RabbitMQ持久化 配置RabbitMQ TTL
配置Vhost 创建RabbitMQ Vhost 创建RabbitMQ Exchange 绑定RabbitMQ Exchange 创建RabbitMQ Queue 绑定RabbitMQ Queue 管理RabbitMQ Vhost 管理RabbitMQ Exchange 管理RabbitMQ
配置RabbitMQ TTL TTL(Time To Live)即过期时间。消息在队列中的生存时间超过了TTL后,消息会被丢弃,如果队列设置了死信交换机,丢弃的消息会被转发到死信交换机,由死信交换机将其路由到死信队列。更多关于TTL的说明,请参考TTL。 RabbitMQ支持设置
设置Exchange持久化(WebUI) 设置成功后如图2所示。 图2 持久化的Exchange(WebUI) 在RabbitMQ实例控制台设置Exchange持久化。 创建Exchange时,设置Exchange持久化,如图3所示。 图3 设置Exchange持久化(控制台) 设置成功后如图4所示。 图4 持久化的Exchange(控制台)
配置RabbitMQ监控告警 本章节主要介绍部分监控指标的告警策略,以及配置操作。在实际业务中,建议按照以下告警策略,配置监控指标的告警规则。 表1 RabbitMQ实例配置告警的指标(RabbitMQ 3.x.x版本) 指标名称 告警策略 指标说明 解决方案 内存高水位状态 告警阈值:原始值>=1
配置RabbitMQ镜像队列 镜像队列是指允许集群将队列镜像到其他节点上,当集群某一节点宕机后,队列能自动切换到镜像中的其他节点,保证服务的可用性。 本章节指导如何在RabbitMQ WebUI为Vhost配置镜像队列策略,满足策略条件的队列将成为镜像队列。 RabbitMQ AMQP-0-9-1版本不支持镜像队列。
配置RabbitMQ ACL用户 RabbitMQ实例开启ACL访问控制后,生产和消费消息时需要进行ACL用户鉴权,鉴权成功后才能生产和消费消息。 本章节介绍如何创建、编辑和删除用户。 仅RabbitMQ AMQP-0-9-1版本支持在控制台配置RabbitMQ ACL用户。RabbitMQ
配置RabbitMQ惰性队列 默认情况下,RabbitMQ生产者生产的消息存储在内存中,当需要释放内存时,会将内存中的消息换页至磁盘中。换页操作会消耗较长的时间,且换页过程中队列无法处理消息。 如果生产速度过快(例如执行批处理任务),或者消费者由于各种原因(例如消费者下线、宕机)
镜像队列包含一个主队列和多个从队列,当生产者向主队列发送一条消息,主队列会将消息同步给从队列,所有的从队列都保存消息后,主队列才会向生产者发送确认。 RabbitMQ使用集群部署时,如果其中一个节点故障下线,待它消除故障重新上线后,它保存的所有从队列的数据都会丢失。此时运维人员需要选择是否同步主队列的数据到从队列
P申请完后,返回RabbitMQ控制台,单击“弹性IP地址”后的,然后在下拉列表中选择新申请的弹性IP。 开启公网访问功能大约需要10~30s,请耐心等待。开启公网访问后,页面会自动跳转到“后台任务管理”页签,当任务状态为“成功”时,表示开启公网访问成功。 开启公网访问后,有如下注意事项:
别配置了正确的规则,客户端才能访问RabbitMQ实例。 建议ECS、RabbitMQ实例配置相同的安全组。安全组创建后,默认包含组内网络访问不受限制的规则。 如果配置了不同安全组,可参考如下配置方式: 假设ECS、RabbitMQ实例分别配置了安全组:sg-53d4、Default_All。
配置RabbitMQ实例标签 标签是RabbitMQ实例的标识,为RabbitMQ实例添加标签,方便您识别和管理拥有的RabbitMQ实例资源。 您可以在创建RabbitMQ实例时添加标签,也可以在RabbitMQ实例创建完成后,在“标签”页面添加标签,最多可以给实例添加20个标签。另外,您还可以删除标签。
1在消费消息。 更多关于单一活跃消费者的说明,请参考Single Active Consumer。 图1 单一活跃消费者消费流程 配置单一活跃消费者 在声明队列时,可以配置单一活跃消费者,只需要将队列的“x-single-active-consumer”参数设置为“true”。 以下示例演示在Java客户端设置单一活跃消费者。
死信消息会被RabbitMQ进行特殊处理,如果配置了死信队列,该消息将会被存储到死信队列中,如果没有配置死信队列,该消息将会被丢弃。 更多关于死信的说明,请参考Dead Letter Exchanges。 在RabbitMQ中,使用死信可能会对性能产生负面影响,请慎用。 使用队列参数配置死信交换机和路由 为
配置RabbitMQ访问控制 开启RabbitMQ ACL访问 配置RabbitMQ ACL用户 父主题: 连接实例
查看监控指标与配置告警 查看RabbitMQ监控数据 RabbitMQ支持的监控指标 配置RabbitMQ监控告警
者进程异常(如工作程序崩溃、重启等)导致消息丢失。 消费者确认在客户端上配置,通过配置basicConsume方法启用确认。在channel中启用消费者确认适用于大多数场景。 以下示例演示在Java客户端配置消费者确认(使用Channel#basicAck设置basic.ack为肯定):
配置RabbitMQ网络连接 连接RabbitMQ网络要求 配置RabbitMQ实例的公网访问 父主题: 连接实例
预取值会使消费者闲置,因为消费者在处理完消息后需要等待下一批的消息到达。过高的值可能会使单个消费者忙碌,其他消费者处于空闲状态。 在消费者多且处理时间很长的情况下,建议您将预取值设置为1,以便消息在所有消费者间均匀分布。 如果客户端配置的消息确认机制为自动确认,则设置的预取值无效,已确认的消息会从队列中删除。
清空RabbitMQ Queue消息 解绑RabbitMQ Queue 配置RabbitMQ镜像队列 配置RabbitMQ惰性队列 配置RabbitMQ仲裁队列 配置RabbitMQ单一活跃消费者 删除RabbitMQ Queue 父主题: 配置Vhost