检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
查看或创建安全组。 客户端连接RabbitMQ实例前,请根据不同的连接方式配置对应的安全组规则,否则会连接失败。具体的安全组规则请参考表2。 设置实例访问方式。 表4 实例访问方式参数说明 参数名称 说明 公网访问 是否开启公网访问。开启公网访问后,客户端可以通过弹性IP地址访问RabbitMQ实例。
松使用RabbitMQ。 表1 RabbitMQ最佳实践一览表 最佳实践 说明 实现网络异常时RabbitMQ客户端自动恢复 本章节提供了客户端重连示例代码,使客户端在网络异常导致连接断开时自动恢复连接,降低网络故障对业务的影响。 实现RabbitMQ节点重启后消费者自动重连 本
务消息队列的运行使用和负载状态。 支持多语言客户端 RabbitMQ是一款基于AMQP协议的开源服务,用于在分布式系统中存储转发消息,服务器端用Erlang语言(支持高并发、分布式以及健壮的容错能力等特点)编写,支持多种语言的客户端,如:Python、Ruby、.NET、Java
并且在过期时间前也未调用过Basic.Get命令。“x-expires”参数的值必须为非零整数,单位为ms。 以下示例演示在Java客户端设置队列TTL。 Map<String, Object> args = new HashMap<String, Object>(); args
管理实例 查看和修改RabbitMQ实例基本信息 查看RabbitMQ实例的运行日志 查看RabbitMQ客户端连接地址 配置RabbitMQ实例标签 配置RabbitMQ实例回收站策略 重置RabbitMQ实例密码 开启RabbitMQ实例插件 导出RabbitMQ实例列表 删除RabbitMQ实例
ack_required Boolean 消费者客户端是否设置手动ack prefetch_count Integer 消费者客户端预取值 表5 ChannelDetails 参数 参数类型 描述 name String channel信息,包括客户端IP:Port到服务端IP:Port(channel_id)。
耗时越久,可能导致节点重启后无法快速恢复业务。 延迟消息在RabbitMQ中为单副本存储,如果该节点发生重启,该节点上的延迟消息无法被消费端消费。 消减措施 已开启延迟消息插件的实例,建议分别为每个节点配置内存使用率告警,内存使用率达到40%将触发内存高水位,告警阈值建议设置为3
RabbitMQ实例是否可以在公网访问? RabbitMQ客户端连接报错原因分析 队列名称包含特殊字符(点号)看不到监控数据 更多 RabbitMQ连接 RabbitMQ客户端连接报错原因都有哪些? SSL方式连接RabbitMQ实例失败怎么办? 客户端是否可以通过DNAT方式访问RabbitMQ实例?
x版本单机实例和没有配置镜像/仲裁队列的集群实例在变更规格过程中会有分钟级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。 RabbitMQ 3.x.x版本配置了镜像/仲裁队列的集群实例在变更规格过程中会有秒级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。 RabbitMQ A
持久化的Queue(控制台) 设置Message持久化 Queue设置为持久化后,可通过客户端设置“MessageProperties”为“PERSISTENT_TEXT_PLAIN”,向Queue发送持久消息。 以下示例演示在Java客户端设置Message持久化: import com.rabbitmq
Queue用于存储消息,每个消息都会被发送到一个或多个Queue中。 绑定Queue Exchange收到消息后,根据路由键将消息发送到绑定的Queue。 连接实例 客户端使用内网/公网连接RabbitMQ实例,并生产消费消息。
在“连接信息”区域,单击“ACL访问控制”后的,弹出“确认”对话框。 单击“确定”,开启ACL访问控制。 开启ACL访问控制会导致没有配置认证信息的客户端连接中断。 父主题: 配置RabbitMQ访问控制
发送到死信交换机中,并根据“x-dead-letter-routing-key”为死信消息设置死信路由Key。 以下示例演示在Java客户端配置死信交换机和路由: channel.exchangeDeclare("some.exchange.name", "direct"); Map<String
在声明队列时,可以配置单一活跃消费者,只需要将队列的“x-single-active-consumer”参数设置为“true”。 以下示例演示在Java客户端设置单一活跃消费者。 Channel ch = ...; Map<String, Object> arguments = newHashMap<String
告警阈值:原始值>=1 连续触发次数:1 告警级别:致命 告警阈值为1表示触发内存高水位,会阻塞消息生产 加快消费 采用生产者确认的发送模式,并监控生产端消息生产速度和时长,当消息生产时长有明显增加时进行流控措施 磁盘高水位状态 告警阈值:原始值>=1 连续触发次数:1 告警级别:致命 告警阈
也可以通过Policy的方式设置。如果一个队列同时使用这两种方式设置的话,Policy的方式具备更高的优先级。 以下示例演示在Java客户端通过调用channel.queueDeclare设置惰性队列。 Map<String, Object> args = new HashMap<String
algorithm=TLSv1.2 #是否启用主机验证 spring.rabbitmq.ssl.verify-hostname=false #是否启用服务端证书验证 spring.rabbitmq.ssl.validate-server-certificate=false 生产消息 import
消息轨迹 消息轨迹的参数说明如表3所示。 表3 消息轨迹的参数说明 参数 参数说明 生产者状态 生产者状态如下: 发送成功:消息发送成功,服务端已经成功存储消息。 生产耗时 生产者发送消息的耗时,单位ms。 地址 生产者的IP地址。 消费者状态 消费者状态如下: 消费成功 消费超时 消费异常
Exchange名称 destination_type 是 String 绑定目标端类型,Exchange或Queue。(AMQP版本只支持Queue绑定类型) destination 是 String 绑定的目标端名称 properties_key 是 String 绑定路由键,经过UR
安全组。安全组入方向规则的“源地址”应避免设置为0.0.0.0/0。 建议将访问RabbitMQ实例方式设置为密码访问,防止未经认证的客户端误操作实例。 RabbitMQ 3.8.35版本默认使用密码访问,RabbitMQ AMQP-0-9-1版本需要开启ACL访问控制功能,开启