MST

星途 面试题库

面试题:消息队列之RocketMQ常见监控指标及作用

请阐述RocketMQ消息队列中,消息堆积量、消息发送成功率、消息消费延迟这三个监控指标的含义,以及它们对系统运行状态判断有何作用?
32.7万 热度难度
后端开发消息队列

知识考点

AI 面试

面试题答案

一键面试

消息堆积量

  1. 含义:指在RocketMQ消息队列中,已经发送但尚未被消费的消息数量。它反映了消息在队列中的积压程度。
  2. 对系统运行状态判断的作用
    • 过高堆积量:表明消息生产速度远大于消费速度,可能是消费者端出现故障,如消费逻辑异常、消费能力不足(如硬件资源紧张、代码效率低下等),也可能是生产者端发送过快。持续的高堆积量可能导致队列存储压力增大,甚至出现消息丢失风险,影响系统的稳定性和数据完整性。
    • 过低堆积量:意味着消息生产和消费相对平衡,系统处于较为健康的运行状态,能及时处理业务消息流。

消息发送成功率

  1. 含义:是指在RocketMQ中,生产者成功发送到消息队列的消息数量与总发送消息数量的比率。它衡量了生产者向消息队列发送消息操作的成功情况。
  2. 对系统运行状态判断的作用
    • 成功率低:可能是网络问题,如生产者与RocketMQ服务器之间网络不稳定、丢包等;也可能是RocketMQ服务端出现故障,如服务器资源不足、Broker节点异常等;还可能是生产者配置问题,如权限不足、错误的连接参数等。低成功率会影响业务数据的正常流转,导致业务处理不完整。
    • 成功率高:说明生产者与消息队列之间的交互正常,业务数据能够顺利进入消息队列,为后续的消费和处理奠定良好基础,反映系统在消息发送环节处于良好运行状态。

消息消费延迟

  1. 含义:指从消息成功发送到消息被成功消费所经历的时间间隔超出了预期时间。它体现了消息从生产到消费的处理时延情况。
  2. 对系统运行状态判断的作用
    • 延迟严重:一方面可能是消费者端处理能力不足,消费逻辑复杂、资源受限导致处理速度慢;另一方面,也可能是消息堆积过多,排队等待时间长。严重的消息消费延迟会影响业务响应时间,降低用户体验,对于一些对实时性要求高的业务(如金融交易通知、实时监控等),可能导致严重后果。
    • 延迟正常:表示消息能够在预期时间内被消费,说明消息生产、传输和消费的整个链路运行顺畅,系统能够及时处理业务消息,满足业务的时效性需求。