What is Produce?
Every producer sends this for every message publish, making it the dominant write path. With acks=all, the broker waits for all ISR replicas to acknowledge before responding; acks=1 returns after the leader writes locally; acks=0 is fire-and-forget with no loss detection.
Wire Diagram
Response Header
message_size
int32 · 4B
correlation_id
int32 · 4B
ProduceResponse v7
ThrottleTimeMs
int32 · 4B
Name
string
Index
int32 · 4B
ErrorCode
int16 · 2B
BaseOffset
int64 · 8B
LogAppendTimeMs
int64 · 8B
LogStartOffset
int64 · 8B
Schema & Example
Schema { "Responses": [{ "Name": string, "PartitionResponses": [{ "Index": int32, "ErrorCode": int16, "BaseOffset": int64, "LogAppendTimeMs": int64, "LogStartOffset": int64 }] }], "ThrottleTimeMs": int32 }
Example { "Responses": [{ "Name": "orders", "PartitionResponses": [{ "Index": 3, "ErrorCode": 0, "BaseOffset": 284729, "LogAppendTimeMs": 1711648200000, "LogStartOffset": 284729 }] }], "ThrottleTimeMs": 0 }