检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
测试RabbitMQ生产速率和消费速率 本章节从实例规格、是否开启SSL、生产者/消费者数量、队列数量、队列类型、Exchange类型的维度进行分布式消息服务RabbitMQ版的性能测试,对比客户端消息生产速率和消费速率,得出性能测试结果。 测试场景一(实例规格):相同Excha
测试实例性能 测试RabbitMQ生产速率和消费速率
连接RabbitMQ网络要求 客户端可以通过公网连接RabbitMQ实例,也可以通过内网连接RabbitMQ实例。使用内网连接时,注意以下几点: 如果客户端和RabbitMQ实例部署在同一个VPC内,网络默认互通。 如果客户端和RabbitMQ实例部署在不同VPC中,由于VPC之
配置RabbitMQ网络连接 连接RabbitMQ网络要求 配置RabbitMQ实例的公网访问 父主题: 连接实例
P地址。当业务不再使用公网访问功能时,也可以关闭实例的公网访问功能。 公网访问与VPC内访问相比,可能存在网络丢包和抖动等情况,且访问时延有所增加,因此建议仅在业务开发测试阶段开启公网访问RabbitMQ实例。 前提条件 仅状态为“运行中”的实例,可以开启公网访问功能。 开启公网访问(RabbitMQ
实现网络异常时RabbitMQ客户端自动恢复 方案概述 由于服务端重启、网络抖动等原因造成客户端网络连接断开时,将导致客户端无法正常生产和消费消息。 通过在客户端侧设置重连机制,使客户端在网络连接断开时自动恢复连接,降低网络故障对业务的影响。以下场景会触发网络自动恢复: 在连接的I/O循环中抛出未处理的异常
开启RabbitMQ实例插件 RabbitMQ实例创建后,支持通过插件的方式开启附加功能,实例创建后插件默认都是关闭状态。 RabbitMQ插件功能可用于测试和迁移业务等场景,不建议用于生产业务。因使用插件导致的可靠性问题,不在服务承诺的SLA范围内。详情请参考产品介绍 > 约束与限制。 RabbitMQ
过低,在短暂网络抖动情况下可能会导致连接重建。如果心跳超时时间设置过长,可能导致集群进行主备切换时感知时间过长。推荐设置心跳超时时间为10s。 什么是心跳 RabbitMQ实例提供了心跳功能,以确保应用程序层及时发现中断的连接和完全无响应的对端。心跳还可以防止某些网络设备在一段时
RabbitMQ实例是否支持跨VPC访问? RabbitMQ实例支持跨VPC访问,可以通过创建VPC对等连接,将两个VPC的网络打通,实现跨VPC访问实例。 关于创建和使用VPC对等连接,请参考VPC对等连接说明。 父主题: 连接问题
te 网络入流量 统计Rabbitmq节点每秒网络访问流入流量。 单位:Byte/s、KB/s、MB/s、GB/s 说明: 2020年6月及以后购买的实例,支持此监控项。 >0 RabbitMQ实例节点 1分钟 rabbitmq_node_bytes_out_rate 网络出流量
图1 套餐规格 设置网络信息。 表3 实例网络参数说明 参数名称 说明 虚拟私有云 选择已经创建好的或共享的虚拟私有云。 虚拟私有云可以为您的RabbitMQ实例构建隔离的、能自主配置和管理的虚拟网络环境。您可以单击右侧的“管理虚拟私有云”,跳转到网络控制台的“虚拟私有云”页面,查看或创建虚拟私有云。
为了保证稳定性,服务端限制了单条消息的最大长度为50MB,请勿发送大于此长度的消息。 上表中TPS(即生产+消费的TPS)是指以2K大小的消息为例的每秒处理消息条数,测试场景为不开启持久化的非镜像队列,实时生产实时消费,队列无积压。此数据仅供参考,生产使用需要以实际压测性能为准。 服务端的性能主要跟以下因素
按小时结算。 区域 不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。 选择“华北-北京四”。 可用区 可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。 选择“可用区1”。 图2 设置实例基础配置
AMQP线程池:ConnectionFactory是Spring AMQP定义的连接工厂,负责创建连接。 不要在线程之间共享通道 大多数客户端并未实现通道的线程安全,所以不要在线程之间共享通道。 不要频繁打开和关闭连接或通道 频繁打开和关闭连接或通道会发送和接收大量的TCP包,从而导
将介绍按需计费RabbitMQ实例的计费规则。 适用场景 按需计费适用于具有不能中断的短期、突增或不可预测的应用或服务,例如电商抢购、临时测试、科学计算。 适用计费项 分布式消息服务RabbitMQ版对您选择的RabbitMQ实例和RabbitMQ的磁盘存储空间收费。以下计费项支持按需计费。
解决消息堆积的办法 生产速率较快,消费速率较慢:您可以通过以下方法解决。 增加消费者数量提高消费速率。 采用生产者确认的发送模式,并监控生产端消息生产速度和时长,当消息生产时长有明显增加时进行流控措施。 消费者异常:建议排查消费者逻辑是不是有问题,优化程序。 消费者与队列间的订阅异常:建议排查队列和消费者之间的订阅是否正常。
未开启SSL。 在实例详情中查看并记录“内网连接地址/公网连接地址”。 客户端所在服务器和RabbitMQ实例之间网络已互通,具体网络要求参见连接RabbitMQ网络要求。 客户端所在服务器已安装Java Development Kit 1.8.111或以上版本,并配置JAVA_
RabbitMQ实例的Web管理页面无法打开 可能原因:实例安全组配置不正确 解决方案:重新配置安全组,具体步骤如下。 在实例详情页面的“基本信息 > 网络”,单击安全组名称,跳转到安全组页面。 选择“入方向规则”,查看安全组入方向规则。 实例未开启SSL开关 如果是VPC内访问,实例安全组入方向规则,需要允许端口5672的访问。
cluster_partition_handling pause_minority 当集群发生网络分区时,代理会检查自己是否处于“少数派”(存储分区的代理数小于等于总代理数的一半称为少数派)。少数派中的代理将会自动关闭服务并定期检测网络状态,待分区恢复之后重新启动服务。如果未开启镜像队列,发生分区时少数派上的队列将无法生产消费。
例如在支付场景下,用户购买商品后进行支付,由于网络不稳定导致用户收到多次扣款请求,导致重复扣款。但实际上扣款业务只应进行一次,商家也只应产生一条订单流水。这时候使用消息幂等就可以避免这个问题。 在实际应用中,导致消息重复的原因有网络闪断、客户端故障等,且可能发生在消息生产阶段,也