
Apache Kafka 4.0은 2025년 3월에 출시된 메이저 릴리즈로, 이벤트 스트리밍 플랫폼의 역사에서 중요한 전환점을 맞이했습니다. 가장 주목할 만한 변화는 10년 이상 Kafka의 중추 역할을 해온 Apache ZooKeeper의 완전한 제거입니다. 이제 Kafka는 자체 개발한 KRaft 모드를 기본으로 사용하며, 더욱 간결하고 확장 가능한 아키텍처로 진화했습니다.
Kafka 4.0의 가장 큰 변화는 KRaft(Kafka Raft) 모드가 기본이 되었다는 점입니다. 과거에는 메타데이터 관리를 위해 별도의 ZooKeeper 앙상블을 운영해야 했지만, 이제는 Kafka 자체적으로 모든 메타데이터를 관리합니다.
운영 복잡성 감소
확장성 향상
성능 개선
Kafka 4.0은 완전히 새로운 컨슈머 그룹 프로토콜을 도입하여 리밸런싱 성능을 획기적으로 개선했습니다.
Stop-the-World 리밸런싱 제거
성능 향상
사용 방법
group.protocol=consumer 설정으로 옵트인# 새로운 컨슈머 프로토콜 활성화
group.protocol=consumer
Kafka 4.0은 전통적인 메시지 큐 기능을 Early Access로 제공합니다. 이는 Kafka의 활용 범위를 Pub-Sub 패턴을 넘어 Point-to-Point 메시징으로 확장합니다.
Share Group이란?
사용 사례
트랜잭션 서버 측 방어 (KIP-890)
Eligible Leader Replicas (KIP-966)
Pre-Vote 메커니즘 (KIP-996)
애플리케이션 메트릭 수집 (KIP-1076)
기간 기반 오프셋 리셋 (KIP-1106)
auto.offset.reset 옵션에 duration 기반 전략 추가# 24시간 전부터 소비 시작
auto.offset.reset=by-duration:PT24H
그룹 관리 개선 (KIP-1043, KIP-1099)
kafka-groups.sh 도구로 모든 그룹 타입 조회Java 버전 요구사항 상향
로깅 프레임워크 업그레이드 (KIP-653)
log4j-transform-cli 도구로 기존 설정 자동 변환구 프로토콜 API 제거 (KIP-896)
Foreign Key 추출 개선 (KIP-1104)
커스텀 프로세서 래핑 (KIP-1112)
ProcessorWrapper 인터페이스 도입프로덕션 예외 핸들링 (KIP-1065)
ProductionExceptionHandler에 "RETRY" 옵션 추가향상된 메트릭 (KIP-1091)
사용자 내부 토픽 복제 (KIP-1074)
.internal 또는 -internal 접미사 토픽 복제 가능하트비트 복제 비활성화 (KIP-1089)
Jakarta EE 10 업그레이드 (KIP-1032)
버전 요구사항 확인
KRaft 모드 마이그레이션
Deprecated API 확인
로깅 설정 변환
log4j-transform-cli 도구 활용권장 순서
1. 개발 환경에서 테스트
2. 브로커를 먼저 업그레이드 (Java 17)
3. 클라이언트 및 애플리케이션 업그레이드 (Java 11)
4. 새로운 컨슈머 프로토콜 점진적 활성화
5. Share Group 기능 테스트 (선택사항)
주의사항
Apache Kafka 4.0은 단순한 버전 업그레이드가 아닌, 아키텍처의 근본적인 혁신을 이룬 릴리즈입니다. ZooKeeper 의존성 제거는 10년 이상 지속된 관계의 종료를 의미하지만, 동시에 Kafka가 더욱 자립적이고 확장 가능한 플랫폼으로 진화했음을 보여줍니다.
차세대 컨슈머 프로토콜과 큐 시맨틱 지원은 Kafka의 활용 범위를 더욱 넓혀, 다양한 메시징 패턴을 하나의 통합 플랫폼에서 처리할 수 있게 합니다. 175명의 기여자가 참여한 이번 릴리즈는 오픈소스 커뮤니티의 힘을 다시 한번 증명했습니다.
Kafka 4.0으로의 마이그레이션을 계획하고 있다면, 충분한 테스트와 단계적 접근을 통해 안전하게 전환하시기 바랍니다. 새로운 기능들을 활용하여 더욱 견고하고 효율적인 이벤트 스트리밍 아키텍처를 구축하시길 바랍니다.