检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
持久化是将内存中的消息写入到磁盘中,以防异常情况导致内存中的消息丢失。但是磁盘的读写速度远不如内存,开启消息持久化后,RabbitMQ的性能会下降。与惰性队列不同,持久化消息会在磁盘和内存中各存储一份,只有在内存空间不够时,才会将内存中的消息删除,存储到磁盘中。 非持久化的Queue、Exchange在重启之后会丢失。
采用生产者确认的发送模式,并监控生产端消息生产速度和时长,当消息生产时长有明显增加时进行流控措施 磁盘高水位状态 告警阈值:原始值>=1 连续触发次数:1 告警级别:致命 告警阈值为1表示触发磁盘高水位,会阻塞消息生产 减少惰性队列的消息堆积 减少持久化队列的消息堆积 删除队列 内存使用率
消息堆积对业务的影响及解决办法 消息堆积对业务的影响 过量的消息堆积可能会引起内存或磁盘告警,从而造成所有connection阻塞,进而影响到其他队列的使用,导致整体服务质量的下降。 消息堆积产生的原因 一般来说消息堆积是由于生产消息的速率远大于消费消息的速率所导致的。比如某个时
单个代理存储空间 根据实际需要选择存储RabbitMQ数据的磁盘类型和磁盘大小。 实例总存储空间 = 单个代理的存储空间 * 代理数量,RabbitMQ实例创建后,磁盘类型不支持修改。 磁盘类型选择“超高I/O”,磁盘大小设置为“100GB”。 图3 设置实例规格和存储空间 设置
目来划分。在购买云资源时选择指定企业项目,新购云资源将按此企业项目进行成本分配。详细介绍请参见通过企业项目维度查看成本分配。 图2 为RabbitMQ实例选择企业项目 通过成本标签进行成本分配 标签是华为云为了标识云资源,按各种维度(例如用途、所有者或环境)对云资源进行分类的标记
bbitMQ的高性能。 使用较小的队列长度 队列中存在大量消息时,会给内存使用带来沉重的负担。为了释放内存,RabbitMQ会将消息刷新到磁盘。刷盘需要重建索引,重启包含大量消息的集群,导致这个过程非常耗时。当刷盘的消息过多时,会阻塞队列处理消息,从而降低队列速度,影响RabbitMQ节点的性能。
Boolean 实例扩容时用于区分老实例与新实例。 true:新创建的实例,允许磁盘动态扩容不需要重启。 false:老实例。 extend_times String 实例扩容磁盘次数,如果超过20次则无法扩容磁盘。 表3 错误码说明 错误码 说明 public.00.0001 内部服务错误。
Boolean 实例扩容时用于区分老实例与新实例。 true:新创建的实例,允许磁盘动态扩容不需要重启。 false:老实例 extend_times Integer 实例扩容磁盘次数,如果超过20次则无法扩容磁盘。 type String 实例类型:集群,cluster。 product_id
1所示。 图1 配置费用示例 配置费用将包括以下部分: 实例费用:根据所选配置(包括代理规格和代理数量)计算的费用。 存储空间费用:磁盘类型和总磁盘存储空间(单个代理的存储空间*代理数量)的费用。 计费周期 按需计费RabbitMQ实例按秒计费,每一个小时整点结算一次费用(以UT
it 磁盘平均读操作耗时 该指标用于统计磁盘在测量周期内平均每个读IO的操作时长。 单位:ms 2020年6月及以后购买的实例,支持此监控项。 >0 RabbitMQ实例节点 1分钟 rabbitmq_disk_write_await 磁盘平均写操作耗时 该指标用于统计磁盘在测量周期内平均每个写IO的操作时长。
参数名称 说明 虚拟私有云 选择已经创建好的或共享的虚拟私有云。 虚拟私有云可以为您的RabbitMQ实例构建隔离的、能自主配置和管理的虚拟网络环境。您可以单击右侧的“管理虚拟私有云”,跳转到网络控制台的“虚拟私有云”页面,查看或创建虚拟私有云。 虚拟私有云在RabbitMQ实例创建完成后,不支持修改。
与Kafka、RocketMQ的差异 表1 功能差异 功能项 RocketMQ Kafka RabbitMQ 优先级队列 不支持 不支持 3.8.35版本:支持。建议优先级大小设置在0-10之间。 AMQP-0-9-1版本:支持。优先级大小设置在1-9之间。 延迟队列 支持 不支持
配置RabbitMQ惰性队列 默认情况下,RabbitMQ生产者生产的消息存储在内存中,当需要释放内存时,会将内存中的消息换页至磁盘中。换页操作会消耗较长的时间,且换页过程中队列无法处理消息。 如果生产速度过快(例如执行批处理任务),或者消费者由于各种原因(例如消费者下线、宕机)
1所示。 图1 配置费用示例 配置费用将包括以下部分: 实例费用:根据所选配置(包括代理规格和代理数量)计算的费用。 存储空间费用:磁盘类型和总磁盘存储空间(单个代理的存储空间*代理数量)的费用。 计费周期 包年/包月RabbitMQ实例的计费周期是根据您购买的时长来确定的(以U
中。在回收站页面,单击RabbitMQ实例名称,进入实例详情页,确认2中复制的资源ID是否为磁盘存储ID,如果是,此资源即为计费资源。如果不是,查看回收站中其他RabbitMQ实例的磁盘存储ID,直到找到计费资源为止。 图2 查找资源 单击操作列的“更多 > 删除”,对Rabbi
流程被阻塞。 仅RabbitMQ 3.8.35版本存在内存高水位限制。 磁盘高水位阈值 >= 5GB 磁盘剩余空间低于5GB会触发磁盘高水位,生产者流程被阻塞。 仅RabbitMQ 3.8.35版本存在磁盘高水位限制。 cluster_partition_handling pause_minority
lazy_mode 否 String 若设置惰性队列,请输入lazy。惰性队列模式会在磁盘上存储尽可能多的消息以减少内存使用;若不设置,队列将消息存储在内存缓存以尽可能快地传递消息。(AMQP版本默认将消息存储到磁盘,不涉及此字段) 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型
现消息大量堆积的场景,不推荐使用仲裁队列,因为仲裁队列的写入会造成成倍的磁盘占用。 仲裁队列的消息会优先保存在内存中,使用仲裁队列时,建议定义队列最大长度和最大内存占用,在消息堆积超过阈值时从内存转移到磁盘,以免造成内存高水位。 更多关于仲裁队列的说明,请参考Quorum Queues。
q.32u64g.cluster。 新规格除了原有的磁盘类型,还支持通用型SSD、极速型SSD等多种磁盘类型,客户选择更加灵活。 RabbitMQ实例的存储空间估算参考 在集群模式中,RabbitMQ需要对消息持久化写入到磁盘中,因此,您在创建RabbitMQ实例选择存储空间时,
Not support disk encrypted. 不支持磁盘加密。 请不要选用磁盘加密功能 400 DMS.00400136 Disk encrypted key is null. 磁盘加密的密钥是空值。 请检查磁盘加密的密钥 400 DMS.00400137 Disk encrypted