检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
持久化是将内存中的消息写入到磁盘中,以防异常情况导致内存中的消息丢失。但是磁盘的读写速度远不如内存,开启消息持久化后,RabbitMQ的性能会下降。与惰性队列不同,持久化消息会在磁盘和内存中各存储一份,只有在内存空间不够时,才会将内存中的消息删除,存储到磁盘中。
消息堆积对业务的影响及解决办法 消息堆积对业务的影响 过量的消息堆积可能会引起内存或磁盘告警,从而造成所有connection阻塞,进而影响到其他队列的使用,导致整体服务质量的下降。 消息堆积产生的原因 一般来说消息堆积是由于生产消息的速率远大于消费消息的速率所导致的。
告警阈值:原始值>85% 连续触发次数:1 告警级别:紧急 磁盘容量使用率过大可能是消息堆积 请参考消息堆积的解决办法 告警阈值请根据业务预期数设置。
1:存活 0:离线 RabbitMQ实例节点 1分钟 rabbitmq_disk_usage 磁盘容量使用率 统计Rabbitmq节点虚拟机的磁盘容量使用率。 单位:% 2020年4月及以后购买的实例,支持此监控项。
true:新创建的实例,允许磁盘动态扩容不需要重启。 false:老实例。 extend_times String 实例扩容磁盘次数,如果超过20次则无法扩容磁盘。 表3 错误码说明 错误码 说明 public.00.0001 内部服务错误。
true:新创建的实例,允许磁盘动态扩容不需要重启。 false:老实例 extend_times Integer 实例扩容磁盘次数,如果超过20次则无法扩容磁盘。 type String 实例类型:集群,cluster。 product_id String 产品标识。
配置RabbitMQ惰性队列 默认情况下,RabbitMQ生产者生产的消息存储在内存中,当需要释放内存时,会将内存中的消息换页至磁盘中。换页操作会消耗较长的时间,且换页过程中队列无法处理消息。
单个代理存储空间 根据实际需要选择存储RabbitMQ数据的磁盘类型和磁盘大小。 实例总存储空间 = 单个代理的存储空间 * 代理数量,RabbitMQ实例创建后,磁盘类型不支持修改。 磁盘类型选择“超高I/O”,磁盘大小设置为“100GB”。
如何选择磁盘类型请参考磁盘类型及性能介绍。
为了释放内存,RabbitMQ会将消息刷新到磁盘。刷盘需要重建索引,重启包含大量消息的集群,导致这个过程非常耗时。当刷盘的消息过多时,会阻塞队列处理消息,从而降低队列速度,影响RabbitMQ节点的性能。 要获得最佳性能,应尽可能缩短队列。
仲裁队列相比镜像队列,缺少了一些特性,如表1所示,且消耗更多的内存和磁盘。
磁盘高水位阈值 >= 5GB 磁盘剩余空间低于5GB会触发磁盘高水位,生产者流程被阻塞。 仅RabbitMQ 3.8.35版本存在磁盘高水位限制。
true:新创建的实例,允许磁盘动态扩容不需要重启。 false:老实例。 extend_times String 实例扩容磁盘次数,如果超过20次则无法扩容磁盘。
存储空间费用:磁盘类型和总磁盘存储空间(单个代理的存储空间*代理数量)的费用。 计费周期 按需计费RabbitMQ实例按秒计费,每一个小时整点结算一次费用(以UTC+8时间为准),结算完毕后进入新的计费周期。
磁盘类型和磁盘大小根据实际需求进行设置。RabbitMQ实例创建后,磁盘类型不支持修改。 磁盘类型支持高I/O、超高I/O、极速型SSD和通用型SSD,更多磁盘信息请参考如何选择磁盘类型。 图1 套餐规格 设置网络信息。
新规格除了原有的磁盘类型,还支持通用型SSD、极速型SSD等多种磁盘类型,客户选择更加灵活。
惰性队列模式会在磁盘上存储尽可能多的消息以减少内存使用;若不设置,队列将消息存储在内存缓存以尽可能快地传递消息。
不支持磁盘加密。 请不要选用磁盘加密功能 400 DMS.00400136 Disk encrypted key is null. 磁盘加密的密钥是空值。
存储空间费用:磁盘类型和总磁盘存储空间(单个代理的存储空间*代理数量)的费用。 计费周期 包年/包月RabbitMQ实例的计费周期是根据您购买的时长来确定的(以UTC+8时间为准)。一个计费周期的起点是您开通或续费资源的时间(精确到秒),终点则是到期日的23:59:59。
在回收站页面,单击RabbitMQ实例名称,进入实例详情页,确认2中复制的资源ID是否为磁盘存储ID,如果是,此资源即为计费资源。如果不是,查看回收站中其他RabbitMQ实例的磁盘存储ID,直到找到计费资源为止。