获取消费分组信息

最近更新时间:2020-05-08 17:32:22

我的收藏

1. 接口描述

本接口(GetGroupInfo)用于在用户账户下获取 CKafka 消费分组详细信息。 接口请求域名:ckafka.api.qcloud.com

2. 输入参数

以下请求参数列表仅列出了接口请求参数,其它参数见 公共请求参数 页面。
参数名称
是否必选
类型
描述
instanceId
String
(过滤条件)按照实例 ID 过滤。
group.N
String
Kafka 消费分组,Consumer-group,这里是数组形式,格式:group.0=xxx&group.1=yyy。

3. 输出参数

参数名称
类型
描述
data
JSON Array
本次接口返回的消费分组信息
data::group
String
Kafka 消费分组
data::err_code
Int
错误码,正常为0
data::state
String
group 状态描述(常见的为 Empty、Stable、Dead 三种状态):
Dead:消费分组不存在
Empty:消费分组,当前没有任何消费者订阅
PreparingRebalance:消费分组处于 rebalance 状态
CompletingRebalance:消费分组处于 rebalance 状态
Stable:消费分组中各个消费者已经加入,处于稳定状态
data::protocol_type
String
消费分组选择的协议类型正常的消费者一般为 consumer 但有些系统采用了自己的协议如 kafka-connect 用的就是 connect。只有标准的 consumer 协议,本接口才知道具体的分配方式的格式,才能解析到具体的 partition 的分配情况
data::protocol
String
消费者 partition 分配算法常见的有如下几种(Kafka 消费者 SDK 默认的选择项为 range):range、 roundrobin、 sticky
data::members
JSON Array
仅当 state 为 Stable 且 protocol_type 为 consumer 时, 该数组才包含信息
data::members::member_id
String
coordinator 为消费分组中的消费者生成的唯一 ID
data::members::client_id
String
客户消费者 SDK 自己设置的 client.id 信息
data::members::client_host
String
一般存储客户的 IP 地址
data::members::assignment
JSON Array
存储着分配给该消费者的 partition 信息
data::members::assignment::version
JSON Array
assignment 版本信息
data::members::assignment::topic
String
分配的 topic 名称
data::members::assignment::partitions
Array
分配的 partition 信息

4. 示例

输入:
https://domain/v2/index.php?Action=GetGroupInfo&<公共请求参数>
输出:
{
"code": 0,
"message": "",
"codeDesc": "Success",
"data": [{
"err_code": 0,
"state": "Stable",
"protocol_type": "consumer",
"protocol": "range",
"members": [{
"member_id": "consumer-1-/10.53.88.65-2018-08-10 10:17:19:639-88206ef1-9248-43a0-9ff4-e22c3ab21e92",
"client_id": "consumer-1",
"client_host": "/10.53.88.65",
"assignment": {
"version": 0,
"topics": [{
"topic": "test",
"partitions": [
0
]
}]
}
}],
"group": "perf-consumer-97910"
}]
}