调用OnsConsumerAccumulate查询指定Group ID的消息消费堆积情况,包括当前消息堆积数量和消费延迟时间等。

使用说明

消费堆积查询一般在生产环境中需要关注Group ID消费进度时使用,用于粗略判断消息消费情况和延迟情况。您不仅可以查到该Group ID订阅的所有Topic的消息堆积情况,还可以查到每个Topic各自的消息堆积情况。

说明 若您要查看该Group ID下各个在线消费者实例的消费信息,请使用OnsConsumerStatus接口查询消费状态。

QPS限制

本接口的单用户QPS限制为10次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制

授权信息

默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。本接口的授权信息如下表所示。更多信息,请参见权限策略和示例

API

Action

Resource(有命名空间)

Resource(无命名空间)

OnsConsumerAccumulate

mq:QueryConsumerAccumulate

acs:mq:*:*:{instanceId}%{groupId}

acs:mq:*:*:{groupId}

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String OnsConsumerAccumulate

系统规定参数。取值:OnsConsumerAccumulate

GroupId String GID_test_consumer_id

需查询的消费端Group ID。

InstanceId String MQ_INST_111111111111_DOxxxxxx

实例ID。

Detail Boolean true

是否查询各个Topic的详细信息。取值说明如下:

  • true:要查询详细信息,返回DetailInTopicList参数的详细信息。
  • false:不查询详细信息(默认值),DetailInTopicList参数返回值为空。

返回数据

名称 类型 示例值 描述
Data Struct

指定Consumer的消费堆积情况。

ConsumeTps Float 10

该Group ID下消费者实例群组接收消息的总TPS。

DelayTime Long 10000

延迟时间。

DetailInTopicList Array of DetailInTopicDo

各个Topic具体情况。如果请求参数Detail取值为fasle,则该返回参数的返回值为空。

DetailInTopicDo
DelayTime Long 10000

该Topic中消息消费的最大延迟时间。

LastTimestamp Long 1566231000000

该Topic中最近消费的某条消息的生产时间。

Topic String test-mq-topic

Topic名称。

TotalDiff Long 100

该Topic的消费堆积数量。

LastTimestamp Long 1566231000000

该Group ID下消费者实例群组中最近消费的某条消息的生产时间。

Online Boolean true

该Group ID下是否有消费者实例在线;只要有一个消费者实例在线,该Group ID状态即为在线。取值说明如下:

  • true:状态为在线
  • false:状态为不在线
TotalDiff Long 100

所有Topic的消费堆积数量。

RequestId String CE817BFF-B389-43CD-9419-95011AC9****

公共参数,每个请求的ID都是唯一的,可用于排查和定位问题。

示例

请求示例

http(s)://ons.cn-hangzhou.aliyuncs.com/?Action=OnsConsumerAccumulate
&InstanceId=MQ_INST_111111111111_DOxxxxxx
&GroupId=GID_test_consumer_id
&Detail=true
&<公共请求参数>

正常返回示例

XML格式

<OnsConsumerAccumulateResponse>
  <Data>
        <DetailInTopicList>
              <DetailInTopicDo>
                    <TotalDiff>100</TotalDiff>
                    <LastTimestamp>1566231000000</LastTimestamp>
                    <DelayTime>10000</DelayTime>
                    <Topic>test-mq-topic</Topic>
              </DetailInTopicDo>
        </DetailInTopicList>
        <TotalDiff>100</TotalDiff>
        <LastTimestamp>1566231000000</LastTimestamp>
        <DelayTime>10000</DelayTime>
        <Online>true</Online>
        <ConsumeTps>10</ConsumeTps>
  </Data>
  <RequestId>0CCF6437-CBB0-4378-BFEC-E08AC258****</RequestId>
</OnsConsumerAccumulateResponse>

JSON格式

{
  "Data": {
    "DetailInTopicList": {
      "DetailInTopicDo": [
        {
          "TotalDiff": 100,
          "LastTimestamp": 1566231000000,
          "DelayTime": 10000,
          "Topic": "test-mq-topic"
        }
      ]
    },
    "TotalDiff": 100,
    "LastTimestamp": 1566231000000,
    "DelayTime": 10000,
    "Online": true,
    "ConsumeTps": 10
  },
  "RequestId": "0CCF6437-CBB0-4378-BFEC-E08AC258****"
}

错误码

访问错误中心查看更多错误码。

控制台操作

除了调用OnsConsumerAccumulate接口,您还可以通过消息队列RocketMQ版控制台,查看Group ID的消息消费堆积情况。具体操作,请参见查看消费者状态