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