消息消费

更新时间:2023-10-16 08:20:49下载pdf

消息成功推送到 Pulsar 服务器 后,您可以通过本地启动的 Pulsar 消费者 获取消息进行处理,上报消费结果。

消息消费情况

未消费消息 保存时长是 2 小时
消息被推送到 Pulsar 服务器 后,服务器会保存 2 小时,在这段时间内,消息可以被获取到和消费。超过这段时间,消息会被服务器丢弃和删除。

消费情况 说明
消息消费成功 代表消息已被消费者处理,并成功上报结果。
消息未消费 消息还未被消费者处理,或未上报成功结果。
消息过期删除 消息保存超过 2 小时,未消费成功,被服务器删除。

消息未消费

描述

  • 消息在系统保存的时间范围内,即 2 小时 内。
  • 消息还未被消费者上报消费成功结果。

产生原因

您可以打开 云开发,选择 进入项目 > 消息订阅 > 订阅管理。根据消息的通道类型,切换到 生产环境 或者 测试环境 查看订阅情况。可能有以下几个原因。

  • 未启动 Pulsar 消费者。您可以查看具体的订阅的状态是否良好,检查是否有展开消费者列表的按钮(+),或展开后的消费者列表是否正常。
  • Pulsar 消费者 进程消费速度较慢,导致有较大消费堆积。例如,您本地的消费进程依赖了外部服务,接口调用过慢等。您可以查看具体已订阅的消息堆积量是否大于 0,也可查看订阅里 监控 的最近消费速率是否缓慢。
  • 短期内设备上报大量数据等情况产生了大量的消息。您可以查看具体已订阅的消息堆积量是否大于 0,或单击 监控 查看最近的生产速率是否过高。

解决方案

执行下面的操作后,您可以到 云开发,选择 进入项目 > 消息订阅 > 订阅管理。根据消息的通道类型,切换到 生产环境 或者 测试环境 进行验证,也可打开对应订阅后的 监控 查看消费速度是否有提升。

  • 对于未启动消费者的场景,您可参照 最佳实践,选择适合自己的版本语言,配置并启动 Pulsar 消费者。启动成功后,您可以查看具体的订阅里的状态是否良好,单击 + 展开消费者列表,查看消费者列表及里面的 IP 是否正常。
  • 对于有消费堆积的场景,如果消息量是短期激增的,可以观察一段时间是否明显下降。如果堆积量没有下降或消费速度较为缓慢,可以增加 Pulsar 消费者,提高消费速率。在生产环境默认情况下,启动 11 个 Pulsar 消费者 可以达到最大消费速率。

消息过期删除

描述

消息还未被消费者上报消费成功结果,且超过系统保存的最大时间,即 2 小时

产生原因

参考 消息未消费产生原因

解决方案

参考 消息未消费解决方案