Kafka Headers
KIP-82 - Add Record Headers
kafka
Kafka Headers
KIP-82 - Add Record Headers 에서 Custom Headers 가 추가되었다. Spring 을 사용하는경우 Spring Integration 을 통해 Kafka 를 사용한다. 이때 Message(record) 를 생산(produce) 할 때 ProducerRecord 클래스를 사용한다.
해당 클래스에서 headers 라는 필드가 추가되었다. headers 필드에 담는 경우 아래 Header 부분에 포함되며, ProducerRecord 의 value 에 headers 를 담아서 보낼 수도 있다.
Message =>
Length => varint
Attributes => int8
TimestampDelta => varlong
OffsetDelta => varint
KeyLen => varint
Key => data
ValueLen => varint
Value => data
Headers => [Header] <------------ NEW Added Array of headers
Header =>
Key => string (utf8) <------------------------------- NEW UTF8 encoded string (uses varint length)
Value => bytes <------------------------------------ NEW header value as data (uses varint length)
The 0.11.0.0 client introduced support for headers in messages. As of version 2.0, Spring for Apache Kafka now supports mapping these headers to and from spring-messaging MessageHeaders.