17.2. Kafka 버전
Kafka의 로그 메시지 형식 버전 및broker 간 프로토콜 버전은 각각 메시지에 추가된 로그 형식 버전과 클러스터에 사용되는 Kafka 프로토콜 버전을 지정합니다. 올바른 버전을 사용하려면 업그레이드 프로세스에서 기존 Kafka 브로커를 구성하고 클라이언트 애플리케이션(소유자 및 생산자)에 대한 코드 변경을 수행해야 합니다.
다음 표는 Kafka 버전의 차이점을 보여줍니다.
Kafka 버전 | broker 프로토콜 버전 | 로그 메시지 형식 버전 | Zookeeper 버전 |
---|---|---|---|
3.2.3 | 3.2 | 3.2 | 3.6.3 |
3.1.0 | 3.1 | 3.1 | 3.6.3 |
broker 프로토콜 버전
Kafka에서broker 간 통신에 사용되는 네트워크 프로토콜을 broker 간 프로토콜 이라고 합니다. Kafka의 각 버전에는 해석 간 프로토콜의 호환 버전이 있습니다. 프로토콜의 마이너 버전은 일반적으로 이전 표에 표시된 대로 Kafka의 마이너 버전과 일치하도록 증가합니다.
broker 프로토콜 버전은 Kafka
리소스에서 클러스터 전체로 설정됩니다. 이를 변경하려면 Kafka.spec.kafka.config
에서 inter.broker.protocol.version
속성을 편집합니다.
로그 메시지 형식 버전
생산자가 Kafka 브로커에 메시지를 보내면 메시지는 특정 형식을 사용하여 인코딩됩니다. 형식은 Kafka 릴리스 간에 변경될 수 있으므로 메시지는 인코딩된 메시지 형식의 버전을 지정합니다.
특정 메시지 형식 버전을 설정하는 데 사용되는 속성은 다음과 같습니다.
-
주제의
message.format.version
속성 -
Kafka 브로커의
log.message.format.version
속성
Kafka 3.0.0에서 메시지 형식 버전 값은 inter.broker.protocol.version
과 일치하도록 가정되며 설정할 필요가 없습니다. 값은 사용된 Kafka 버전을 반영합니다.
Kafka 3.0.0 이상으로 업그레이드할 때 inter.broker.protocol.version
을 업데이트할 때 이러한 설정을 제거할 수 있습니다. 그러지 않으면 업그레이드할 Kafka 버전에 따라 메시지 형식 버전을 설정합니다.
항목에 대한 message.format.version
의 기본값은 Kafka 브로커에 설정된 log.message.format.version
에 의해 정의됩니다. 주제 구성을 수정하여 주제의 message.format.version
을 수동으로 설정할 수 있습니다.