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"}]}