检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
配置RabbitMQ ACL用户 RabbitMQ实例开启ACL访问控制后,生产和消费消息时需要进行ACL用户鉴权,鉴权成功后才能生产和消费消息。 本章节介绍如何创建、编辑和删除用户。 仅RabbitMQ AMQP-0-9-1版本支持在控制台配置RabbitMQ ACL用户。RabbitMQ
配置RabbitMQ惰性队列 默认情况下,RabbitMQ生产者生产的消息存储在内存中,当需要释放内存时,会将内存中的消息换页至磁盘中。换页操作会消耗较长的时间,且换页过程中队列无法处理消息。 如果生产速度过快(例如执行批处理任务),或者消费者由于各种原因(例如消费者下线、宕机)
查看队列类型 在“Queues”页面,单击队列名称,进入队列详情页。查看当前仲裁队列主副本所在节点和在线副本所在节点。 图3 队列详情页 配置仲裁队列的长度 通过配置Policy或者队列属性的方式可以限制仲裁队列的长度和在内存中保存的长度。 x-max-length:仲裁队列最大消息数。如果超过则丢弃消息,或者发送到死信交换器。
RabbitMQ实例是否支持扩容? RabbitMQ支持双向认证吗? RabbitMQ支持升级CPU和内存吗? 如何关闭RabbitMQ的WebUI? 实例是否支持修改可用区? 如何获取region id? 为什么不能选择2个可用区? 单机RabbitMQ实例如何变更为集群实例? RabbitMQ实例创建后,能修改VPC和子网吗?
1在消费消息。 更多关于单一活跃消费者的说明,请参考Single Active Consumer。 图1 单一活跃消费者消费流程 配置单一活跃消费者 在声明队列时,可以配置单一活跃消费者,只需要将队列的“x-single-active-consumer”参数设置为“true”。 以下示例演示在Java客户端设置单一活跃消费者。
是否必选 参数类型 描述 destination 是 String 要投递的Exchange或Queue名称 routing_key 是 String 绑定键值,用于告知Exchange应该将消息投递到哪些Queue或Exchange中 destination_type 是 String
心跳超时时间定义了对等TCP连接在多长时间后被服务端和客户端视为关闭。服务端和客户端会对配置的心跳超时时间进行协商,客户端必须配置该值来发送心跳。RabbitMQ官方团队维护的3个客户端(Java、.NET、Erlang语言)的心跳超时时间协商逻辑如下: 服务端和客户端设置的
开源RabbitMQ 队列类型 无需配置,分布式高可用集群。 需要配置,支持以下类型: Classic:经典镜像队列。 Quorum:仲裁队列。 节点 无需配置,服务免运维。 需要配置,可选择节点。 持久化 默认持久化。 支持持久化和非持久化。 Max length 无需配置,支持海量消息堆积。
在实例详情中查看并记录“内网连接地址/公网连接地址”。 客户端所在服务器和RabbitMQ实例之间网络已互通,具体网络要求参见连接RabbitMQ网络要求。 客户端所在服务器已安装Java Development Kit 1.8.111或以上版本,并配置JAVA_HOME与PATH环境变量,环境变量配置方法如下:
死信消息会被RabbitMQ进行特殊处理,如果配置了死信队列,该消息将会被存储到死信队列中,如果没有配置死信队列,该消息将会被丢弃。 更多关于死信的说明,请参考Dead Letter Exchanges。 在RabbitMQ中,使用死信可能会对性能产生负面影响,请慎用。 使用队列参数配置死信交换机和路由 为
配置RabbitMQ访问控制 开启RabbitMQ ACL访问 配置RabbitMQ ACL用户 父主题: 连接实例
配置RabbitMQ实例标签 标签是RabbitMQ实例的标识,为RabbitMQ实例添加标签,方便您识别和管理拥有的RabbitMQ实例资源。 您可以在创建RabbitMQ实例时添加标签,也可以在RabbitMQ实例创建完成后,在“标签”页面添加标签,最多可以给实例添加20个标签。另外,您还可以删除标签。
者进程异常(如工作程序崩溃、重启等)导致消息丢失。 消费者确认在客户端上配置,通过配置basicConsume方法启用确认。在channel中启用消费者确认适用于大多数场景。 以下示例演示在Java客户端配置消费者确认(使用Channel#basicAck设置basic.ack为肯定):
配置RabbitMQ消息预取值 设置预取值可以限制未被确认的消息个数,一旦消费者中未被确认的消息数量达到设置的预取值,服务端将不再向此消费者发送消息,除非至少有一个未被确认的消息被确认。设置预取值本质上是一种对消费者进行流控的方法。 设置预取值时,需要考虑多种因素: 预取值设置太
配置RabbitMQ网络连接 连接RabbitMQ网络要求 配置RabbitMQ实例的公网访问 父主题: 连接实例
在实例详情中查看并记录“内网连接地址/公网连接地址”。 客户端所在服务器和RabbitMQ实例之间网络已互通,具体网络要求参见连接RabbitMQ网络要求。 客户端所在服务器已安装Java Development Kit 1.8.111或以上版本,并配置JAVA_HOME与PATH环境变量,环境变量配置方法如下:
说明 内网连接地址 未开启公网访问时,连接实例的地址。 Web界面UI地址 未开启公网访问时,访问实例管理工具的地址。 公网访问 是否开启公网访问开关。 公网连接地址 开启公网访问后,连接实例的地址。 公网访问Web界面UI地址 开启公网访问后,访问实例管理工具的地址。 表3 连接参数说明(RabbitMQ
查看监控指标与配置告警 查看RabbitMQ监控数据 RabbitMQ支持的监控指标 配置RabbitMQ监控告警
SSL方式连接RabbitMQ实例失败? 首先排查安全组的入方向规则,是否放开了端口5671(SSL方式访问)或5672(非SSL访问)。 其次,参考如下内容配置SSL单向认证: 1 2 3 4 5 6 7 8 ConnectionFactory factory = new ConnectionFactory();
清空RabbitMQ Queue消息 解绑RabbitMQ Queue 配置RabbitMQ镜像队列 配置RabbitMQ惰性队列 配置RabbitMQ仲裁队列 配置RabbitMQ单一活跃消费者 删除RabbitMQ Queue 父主题: 配置Vhost