RabbitMQ 业务迁移过程中,确认旧集群的消息已被消费完毕之后,才能下线旧的集群。可消费消息数和未消费消息数均为 0 时表示旧消费者已完成消息消费。您可以通过以下两种方式查看这两个数值:
通过浏览器登录开源 RabbitMQ 控制台。
在 Overview 页签中,展开 Totals。
在 Queued messages 表中查看相关数据。 当可消费信息数(Ready)和未消费信息数(Unacked)以及消息总数(Total)均为0时,表示旧集群中的存量消息已被消费完毕。
您也可以通过调用开源的 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 表示消费相关的数据,其中:
以上参数均为0时,即表示旧集群的消息已经消费完毕。