检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
设置队列负载均衡 方案概述 在RabbitMQ集群上,由于扩容节点、删除队列等原因,会导致队列在各个节点分布不均衡,从而造成部分节点压力过大,无法更有效地利用集群。 这时候需要手动设置节点间队列的负载均衡,提升集群的利用率。设置队列负载均衡的方法如下: 删除队列重建 通过Policy修改master节点方式
为什么RabbitMQ集群只有一个连接地址? RabbitMQ集群实例的连接地址,实际上是实例的LVS节点地址(负载均衡地址),客户端连接实例时,通过负载均衡器将客户端请求分发到集群实例的各个节点。 图1 连接示意图 父主题: 连接问题
RabbitMQ集群实例如何均衡分发请求到每个虚拟机? 集群内部使用LVS做负载均衡,由LVS将请求均衡分发到每个虚拟机节点。 父主题: 实例问题
作为消费者消费消息,连接IP地址是相同的,如图1所示,此时我们无法区分哪个是生产者IP地址,哪个是消费者IP地址。如果想要直观体现生产者/消费者IP地址,您可以在客户端中设置“clientProperties”参数,通过此参数来标明生产者/消费者IP地址,示例如下。 //配置客户端连接参数
限制使用优先队列的数量 每个优先队列会启动一个Erlang进程,过多的优先队列会影响性能。在大多数情况下,建议使用不超过5个优先队列。 连接和通道 每个连接使用大约100 KB的内存(如果使用TLS会更多),成千上万的连接会导致RabbitMQ负载很高,极端情况下,会导致内存溢出。AMQP协
布式消息服务RabbitMQ版提供的一系列常用实践。 表1 常用最佳实践 实践 描述 设置队列负载均衡 扩容节点、删除队列可能会导致队列在各个节点分布不均衡,本文介绍如何设置队列负载均衡。
单击“公网访问”右侧的,打开公网访问开关。 从“弹性IP地址”下拉列表中选择一个弹性IP,然后单击,开启公网访问功能。 如果“弹性IP地址”下拉列表没有值,可单击“创建弹性IP”,跳转到弹性公网IP页面,您可以申请一个新的弹性IP。弹性IP申请完后,返回RabbitMQ控制台,单击“弹性IP地址”后的,然后在下拉列表中选择新申请的弹性IP。
RabbitMQ实例提供了开源RabbitMQ的集群管理工具,通过RabbitMQ管理地址可访问WebUI并对实例进行配置操作。 RabbitMQ AMQP-0-9-1版本不支持RabbitMQ WebUI。 登录RabbitMQ WebUI 获取实例管理地址。 登录管理控制台。 在管理控制台左上角单击,选择区域。
的通道继续消费。 提高RabbitMQ性能 本章节介绍如何通过设置队列长度、集群负载均衡、优先队列数量等参数,实现RabbitMQ的高性能。 设置队列负载均衡 本章节介绍如何设置节点间队列的负载均衡,提升集群的利用率。 通过消息幂等实现消息去重 本章节描述了重复消息产生的原因,以
RabbitMQ集群实例使用LVS进行负载均衡,如图1所示,单节点实例不涉及LVS。 图1 集群实例的负载均衡 LVS对客户端连接设置了心跳超时时间,默认为90s。如果客户端在90s内没有向LVS发送心跳(AMQP心跳帧或消息收发),LVS会主动断开与客户端的连接,此时客户端需要重新连接。
下载RabbitMQ-Tutorial.zip示例工程代码。 wget https://dms-demo.obs.cn-north-1.myhuaweicloud.com/RabbitMQ-Tutorial.zip 解压RabbitMQ-Tutorial.zip压缩包。 unzip RabbitMQ-Tutorial
下载RabbitMQ-Tutorial-SSL.zip示例工程代码。 wget https://dms-demo.obs.cn-north-1.myhuaweicloud.com/RabbitMQ-Tutorial-SSL.zip 解压RabbitMQ-Tutorial-SSL.zip压缩包。 unzip RabbitMQ-Tutorial-SSL
端口 源地址 说明 入方向 IPv4 TCP 5672 RabbitMQ客户端所在的IP地址或地址组 客户端使用IPv4地址访问RabbitMQ实例(关闭SSL加密) 入方向 IPv4 TCP 5671 RabbitMQ客户端所在的IP地址或地址组 客户端使用IPv4地址访问RabbitMQ实例(开启SSL加密)
是否开启公网访问。开启公网访问后,客户端可以通过弹性IP地址访问RabbitMQ实例。 开启公网访问时,需要设置弹性IP地址。如果弹性IP地址数量不足,请单击“创建弹性IP”跳转到弹性公网IP页面,创建公网IP地址。然后返回RabbitMQ控制台,在“公网IP地址”后单击,刷新弹性IP地址。 说明: 公网访问与
方向 协议端口 源地址 入方向 全部放通 sg-53d4 通过公网访问实例 RabbitMQ实例所在安全组需要增加如下规则,以保证能被客户端访问。 表3中的源地址以全网段放通为例,可根据实际安全需要修改为客户端的IP地址。 表3 安全组规则 方向 协议端口 源地址 入方向 TCP:5672
创建实例时为什么无法查看子网和安全组等信息? 创建实例时,如果无法查看虚拟私有云、子网、安全组、弹性IP,可能原因是该用户无Server Administrator和VPC Administrator权限,增加权限的详细步骤请参考修改用户组权限。 父主题: 实例问题
RabbitMQ客户端连接报错原因分析 RabbitMQ客户端连接失败,可能原因包括地址填错、端口填错、用户名或者密码填错、超过最大连接数、未创建Vhost或者填错Vhost名称。 可能原因一:连接地址不正确 VPC内访问场景下,连接地址不正确时,报错如下: [root@ecs-test RabbitMQ-Tutorial]#
生产耗时 生产者发送消息的耗时,单位ms。 地址 生产者的IP地址。 消费者状态 消费者状态如下: 消费成功 消费超时 消费异常 消费返回NULL 消费失败 消费时间 消费消息的时间。 消费耗时 消费者消费消息的耗时,单位ms。 地址 消费者的IP地址。 父主题: 管理消息
enable_publicip Boolean RabbitMQ实例是否开启公网访问功能。 true:开启 false:未开启 publicip_address String RabbitMQ实例绑定的弹性IP地址。 如果未开启公网访问功能,该字段值为null。 publicip_id String
超高I/O 购买完成后,在实例详情页获取RabbitMQ实例的内网连接地址,并记录购买实例时设置的用户名和密码。如果是“rabbitmq-2u4g”实例,除了内网连接地址、用户名和密码外,还需要记录Web界面UI地址,此地址在后续登录WebUI界面设置镜像队列和惰性队列时需要使用。 在“