调用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:QueryInstanceBaseInfo

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。

Detail Boolean true

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

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

实例ID。

返回数据

名称 类型 示例值 描述
RequestId String CE817BFF-B389-43CD-9419-95011AC9****

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

Data Object

指定Consumer的消费堆积情况。

ConsumeTps Float 10

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

DelayTime Long 10000

延迟时间。

LastTimestamp Long 1566231000000

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

TotalDiff Long 100

所有Topic的消费堆积数量。

Online Boolean true

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

  • true:状态为在线
  • false:状态为不在线
DetailInTopicList Array of DetailInTopicDo

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

DetailInTopicDo
DelayTime Long 10000

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

TotalDiff Long 100

该Topic的消费堆积数量。

LastTimestamp Long 1566231000000

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

Topic String test-mq-topic

Topic名称。

示例

请求示例

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

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/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格式

HTTP/1.1 200 OK
Content-Type:application/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的消息消费堆积情况。具体操作,请参见查看消费者状态