检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
设置队列负载均衡 方案概述 在RabbitMQ集群上,由于扩容节点、删除队列等原因,会导致队列在各个节点分布不均衡,从而造成部分节点压力过大,无法更有效地利用集群。 这时候需要手动设置节点间队列的负载均衡,提升集群的利用率。
集群内部使用LVS做负载均衡,由LVS将请求均衡分发到每个虚拟机节点。 父主题: 实例问题
RabbitMQ实例集群内部的队列是否有冗余备份? 队列是否做镜像(即冗余备份)取决于用户的需要,如果用户设置了镜像,会在集群中多个代理上存储队列的副本,当某个代理故障,集群会从其他正常的代理中选择一个代理,用来同步队列数据。 父主题: 实例问题
RabbitMQ集群实例的连接地址,实际上是实例的LVS节点地址(负载均衡地址),客户端连接实例时,通过负载均衡器将客户端请求分发到集群实例的各个节点。 图1 连接示意图 父主题: 连接问题
提高RabbitMQ性能 本章节介绍如何通过设置队列长度、集群负载均衡、优先队列数量等参数,实现RabbitMQ的高性能。 设置队列负载均衡 本章节介绍如何设置节点间队列的负载均衡,提升集群的利用率。
产品优势 华为云分布式消息服务RabbitMQ版完全兼容开源社区版本,旨在为您提供便捷高效的消息队列。业务无需改动即可快速迁移上云,为您节省维护和使用成本。 一键式部署,免去集群搭建烦恼 只需要在实例管理界面选好规格配置,提交订单,后台将自动创建部署完成一整套RabbitMQ实例。
表1 常用最佳实践 实践 描述 设置队列负载均衡 扩容节点、删除队列可能会导致队列在各个节点分布不均衡,本文介绍如何设置队列负载均衡。
使用集群的负载均衡 队列的性能受单个CPU内核控制,当一个RabbitMQ节点处理消息的能力达到瓶颈时,可以通过集群进行扩展,从而达到提升吞吐量的目的。 使用多个节点,集群会自动将队列均衡的创建在各个节点上。
配置RabbitMQ实例回收站策略 开启回收站策略的实例在被删除后,会被临时存入回收站中,此时实例中的数据尚未被彻底删除,在保留天数内支持从回收站中恢复此实例。超过保留天数的实例会被彻底删除,无法恢复。 回收站策略默认是关闭状态。 约束与限制 回收站中的按需实例不会收取实例的费用,
费用账单 您可以在“费用中心 > 账单管理”查看资源的费用账单,以了解该资源在某个时间段的使用量和计费信息。 RabbitMQ实例在账单中显示的产品名称为“分布式消息服务专享版”,存储空间在账单中显示的产品名称为“分布式消息服务物理多租存储”,如图1所示。 图1 账单 账单上报周期
区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。
RabbitMQ实例是否支持扩容? RabbitMQ 3.8.35版本:单机版本的支持扩大存储空间,以及扩容/缩容代理规格。集群版本支持扩大存储空间和代理个数,以及扩容/缩容代理规格。 RabbitMQ AMQP-0-9-1版本:支持扩容存储空间和实例规格。 父主题: 实例问题
购买RabbitMQ实例 RabbitMQ是一款基于AMQP(即Advanced Message Queuing Protocol)协议的开源服务,用于在分布式系统中存储转发消息。 RabbitMQ实例采用物理隔离的方式部署,租户独占RabbitMQ实例。支持用户自定义规格和自定义特性
创建实例 功能介绍 创建实例,该接口支持创建按需和包周期计费方式的实例。 调用方法 请参见如何调用API。 URI POST /v2/{engine}/{project_id}/instances 表1 路径参数 参数 是否必选 参数类型 描述 engine 是 String 消息引擎
LVS的心跳超时时间 RabbitMQ集群实例使用LVS进行负载均衡,如图1所示,单节点实例不涉及LVS。 图1 集群实例的负载均衡 LVS对客户端连接设置了心跳超时时间,默认为90s。
这是由于队列之间的负载均衡减少了单个队列的压力,提高了消息处理效率。 测试场景五(队列类型):相同Exchange、生产者数量、消费者数量、实例规格,不同的队列类型 测试参数如下: 实例规格:rabbitmq.2u4g.cluster*3。
配置RabbitMQ监控告警 本章节主要介绍部分监控指标的告警策略,以及配置操作。在实际业务中,建议按照以下告警策略,配置监控指标的告警规则。 表1 RabbitMQ实例配置告警的指标(RabbitMQ 3.x.x版本) 指标名称 告警策略 指标说明 解决方案 内存高水位状态 告警阈值
客户端是否可以连接同个RabbitMQ下多个Vhost? 客户端可以连接同个RabbitMQ下多个Vhost。 Vhost(Virtual Hosts)是RabbitMQ的基本特性,每个Vhost相当于一个相对独立的RabbitMQ服务器,每个Vhost数据目录不同,共用一个进程。
系统策略 无 DMS ELBAccess 分布式消息服务租户委托时需要授权的ELB操作权限。 系统策略 无 DMS VPCEndpointAccess 分布式消息服务租户委托时需要授权的VPCEndpoint操作权限。
新规格实例的规格变更 功能介绍 实例规格变更。 当前通过调用API,只支持按需实例进行实例规格变更。 调用方法 请参见如何调用API。 URI POST /v2/{engine}/{project_id}/instances/{instance_id}/extend 表1 路径参数