Kafka拉取消息的请求体是一个JSON结构,包含以下字段:
max_bytes
: 可选,表示要拉取的消息的最大字节数。topics
: 要拉取消息的主题列表,每个主题包含以下字段:topic
: 要拉取的主题名称。partitions
: 要拉取的分区列表,每个分区包含以下字段:partition
: 要拉取的分区号。fetch_offset
: 要拉取消息的偏移量。max_bytes
: 可选,表示要拉取的消息的最大字节数。
{
"max_bytes": 1048576,
"topics": [
{
"topic": "mytopic",
"partitions": [
{
"partition": 0,
"fetch_offset": 0,
"max_bytes": 1024
},
{
"partition": 1,
"fetch_offset": 10
}
]
}
]
}
Kafka返回的消息包含在一个数组中,每个元素是一个分区的消息。每个分区消息包含以下字段:
topic
: 分区所属的主题名称。partition
: 分区号。messages
: 消息数组,每个元素包含以下字段:offset
: 消息的偏移量。key
: 可选,消息的键。value
: 消息的值。
[
{
"topic": "mytopic",
"partition": 0,
"messages": [
{
"offset": 0,
"key": "key1",
"value": "value1"
},
{
"offset": 1,
"key": "key2",
"value": "value2"
}
]
},
{
"topic": "mytopic",
"partition": 1,
"messages": [
{
"offset": 10,
"value": "value3"
},
{
"offset": 11,
"value": "value4"
}
]
}
]