检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
业务消息队列的运行使用和负载状态。 支持多语言客户端 RabbitMQ是一款基于AMQP协议的开源服务,用于在分布式系统中存储转发消息,服务器端用Erlang语言(支持高并发、分布式以及健壮的容错能力等特点)编写,支持多种语言的客户端,如:Python、Ruby、.NET、Jav
对等连接 客户端连接RabbitMQ实例前,需要放通如下安全组,否则会连接失败。 创建安全组后,系统默认添加入方向“允许安全组内的弹性云服务器彼此通信”规则和出方向“放通全部流量”规则,此时使用内网通过同一个VPC访问RabbitMQ实例,无需添加表2或表3的规则。 表2 安全组规则(RabbitMQ
RabbitMQ实例集群内部的队列是否有冗余备份? 队列是否做镜像(即冗余备份)取决于用户的需要,如果用户设置了镜像,会在集群中多个代理上存储队列的副本,当某个代理故障,集群会从其他正常的代理中选择一个代理,用来同步队列数据。 父主题: 实例问题
配置RabbitMQ实例的公网访问 当您需要通过公网地址访问RabbitMQ实例时,可开启实例的公网访问功能,并设置弹性IP地址。当业务不再使用公网访问功能时,也可以关闭实例的公网访问功能。 公网访问与VPC内访问相比,可能存在网络丢包和抖动等情况,且访问时延有所增加,因此建议仅
景。 用户开通云审计服务并创建和配置追踪器后,CTS可记录DMS for RabbitMQ的管理事件用于审计。 CTS的详细介绍和开通配置方法,请参见CTS快速入门。 CTS支持追踪的DMS for RabbitMQ管理事件列表,请参见云审计服务支持的DMS for RabbitMQ操作列表。
是相同的,如图1所示,此时我们无法区分哪个是生产者IP地址,哪个是消费者IP地址。如果想要直观体现生产者/消费者IP地址,您可以在客户端中设置“clientProperties”参数,通过此参数来标明生产者/消费者IP地址,示例如下。 //配置客户端连接参数 HashMap<String
的标签。 您也可以直接在“标签键”和“标签值”中设置标签。 当前每个RabbitMQ实例最多支持设置20个不同标签,标签的命名规格,请参考配置RabbitMQ实例标签章节。 描述 设置实例的描述信息,长度为0~1024个字符。 设置实例购买时长。 当选择了“包年/包月”付费模式时
轨迹数据白屏化展示,消息完整的生命周期清晰可见,一目了然。提供强大的索引能力,可根据Queue、消息ID、消息处理耗时等完成不同维度的查询。 消息轨迹信息以文本格式存储在服务器的log文件中,查询和定位问题效率较低。 稳定性 表2 稳定性差异 功能项 AMQP-0-9-1版本 开源RabbitMQ 消息堆积 海量消息堆积能力,高性能不受消息堆积影响。
配置仲裁队列 在声明队列时,将队列的“x-queue-type”参数设置为“quorum”。此参数只能在声明队列时设置,不能通过Policy设置。 仲裁队列默认的复制因子是5。 以下示例演示在Java客户端设置仲裁队列。 ConnectionFactory factory = n
Exchange需要设置Routing Key,Exchange会将消息路由到Routing Key匹配成功的Queue中。如果不设置Routing Key,Exchange会将消息路由到所有与它绑定的Queue中。 x-consistent-hash Exchange需要设置Routing
amqp-client出现上面两种错误时,会分别回调handleShutdownSignal以及handleCancel方法。您可以通过重写这两种方法,在回调时执行重写的重连逻辑,就能在通道关闭后重新为消费者创建新的通道继续消费。 RabbitMQ节点重启后消费者自动重连示例代码
查看RabbitMQ实例连接地址与端口 访问实例的用户名和密码 实例创建后,从实例的“基本信息”页签的“连接信息”中获取用户名。如果忘记了密码,单击“重置密码”,重新设置密码。
Routing Key 设置Key值字符串,用于告知Exchange应该将消息投递到哪些Queue中。 Direct Exchange和Topic Exchange需要设置Routing Key,Exchange会将消息路由到Routing Key匹配成功的Queue中。如果不设置Routing
息,最终消费者会消费到两条内容一样的重复消息。 实施方法 对于消息重复的场景,一般可以使用全局唯一ID来判断该消息是否已消费过。如果已经消费过,则直接返回处理结果,否则进行消息处理,并将全局ID记录下来。 生产者为每一条消息设置唯一的messageID,示例代码如下: //持久化
发布到Queue的消息在被丢弃之前可以存活多长时间 lazy_mode 否 String 若设置惰性队列,请输入lazy。惰性队列模式会在磁盘上存储尽可能多的消息以减少内存使用;若不设置,队列将消息存储在内存缓存以尽可能快地传递消息。(AMQP版本默认将消息存储到磁盘,不涉及此字段)
在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务RabbitMQ版”,进入分布式消息服务RabbitMQ专享版页面。 通过以下任意一种方法,导出实例列表。 勾选待导出的实例,单击“导出 > 导出已选中数据到XLSX”,导出指定实例列表。 单击“导出 > 导出全部数据到XLSX”,导出全部实例列表。
需求使用分布式消息服务RabbitMQ版提供的一系列常用实践。 表1 常用最佳实践 实践 描述 设置队列负载均衡 扩容节点、删除队列可能会导致队列在各个节点分布不均衡,本文介绍如何设置队列负载均衡。
图3 设置Vhost策略 表1 策略参数说明 参数 说明 Virtual Host 设置策略所应用的Vhost。如果为指定的Vhost设置,请在“Virtual Host”选择3创建的Vhost;如果没有,则默认为“/”。 Name 策略的名称,用户自定义。 Pattern Queue的匹配模式(正则表达式)。
RabbitMQ集群实例如何均衡分发请求到每个虚拟机? 集群内部使用LVS做负载均衡,由LVS将请求均衡分发到每个虚拟机节点。 父主题: 实例问题
后重新为消费者创建新的通道继续消费。 提高RabbitMQ性能 本章节介绍如何通过设置队列长度、集群负载均衡、优先队列数量等参数,实现RabbitMQ的高性能。 设置队列负载均衡 本章节介绍如何设置节点间队列的负载均衡,提升集群的利用率。 通过消息幂等实现消息去重 本章节描述了重