You need to enable JavaScript to run this app.
导航

如何确认集群消息已被消费完毕

最近更新时间2022.10.17 17:41:39

首次发布时间2022.05.31 11:12:33

RabbitMQ 业务迁移过程中,确认旧集群的消息已被消费完毕之后,才能下线旧的集群。可消费消息数和未消费消息数均为 0 时表示旧消费者已完成消息消费。您可以通过以下两种方式查看这两个数值:

  • 开源 Web UI
  • 开源 API

通过开源 Web UI 查看

  1. 通过浏览器登录开源 RabbitMQ 控制台。

  2. 在 Overview 页签中,展开 Totals。

  3. 在 Queued messages 表中查看相关数据。 当可消费信息数(Ready)和未消费信息数(Unacked)以及消息总数(Total)均为0时,表示旧集群中的存量消息已被消费完毕。

alt

通过开源API查看

您也可以通过调用开源的 API 接口查看相关数据。
RabbitMQ API:

curl -s -u username:password -XGET http://ip:port/api/overview

参数说明:

参数说明
username旧 RabbitMQ 集群登录 WebUI 的帐号。
password旧 RabbitMQ 集群登录 WebUI 的密码。
ip旧 RabbitMQ 集群 Web UI 的接入点域名。
port旧 RabbitMQ 集群 Web UI 端口,默认为 15672。

该接口的返回示例如下:

"queue_totals":{
    "messages":0,
    "messages_details":{
        "rate":0.0
     },
     "messages_ready":0,
     "messages_ready_details":{
         "rate":0.0
     },
     "messages_unacknowledged":0,
     "messages_unacknowledged_details":{
         "rate":0.0
     }
}

返回信息中,queue_totals 表示消费相关的数据,其中:

  • messages_ready: 可消费信息数
  • messages_unacknowledged: 未消费消息数

以上参数均为0时,即表示旧集群的消息已经消费完毕。