실시간 데이터 처리가 필수가 된 지금, Apache Kafka(아파치 카프카)를 사용하시는 분들이라면 한 번쯤 고민하셨을 겁니다. “우리가 쓰는 Kafka 버전, 언제까지 지원되는 거지?” 특히 최근 Kafka 4.0이 출시되면서 ZooKeeper가 완전히 제거되는 등 큰 변화가 있었기에, 버전 관리에 대한 관심이 더욱 높아지고 있습니다.
오늘은 Apache Kafka의 버전별 지원 정책과 각 버전의 EOL(End of Life) 일정을 상세하게 정리해드리겠습니다.

1. Apache Kafka, 어떤 솔루션인가요?
Apache Kafka는 분산 이벤트 스트리밍 플랫폼(Distributed Event Streaming Platform)으로, LinkedIn에서 개발하여 2011년 Apache 재단에 기부한 오픈소스 프로젝트입니다.
주요 특징
- 고처리량(High Throughput): 초당 수백만 건의 메시지 처리 가능
- 확장성(Scalability): 수평적 확장을 통한 무제한 데이터 처리
- 내결함성(Fault Tolerance): 데이터 복제를 통한 안정적인 운영
- 실시간 처리: 밀리초 단위의 낮은 지연시간
금융권의 실시간 거래 처리부터 Netflix의 스트리밍 데이터 분석, Uber의 실시간 위치 추적까지, 전 세계 수많은 기업들이 Kafka를 통해 데이터 파이프라인을 구축하고 있습니다.
2. Kafka의 지원 정책, 어떻게 운영되나요?
Apache Kafka의 지원 정책은 다른 오픈소스 프로젝트와 조금 다릅니다. 명확하게 문서화된 공식 EOL 정책은 없지만, 커뮤니티에서 운영하는 암묵적인 규칙이 있습니다.
커뮤니티 지원 원칙
- 연간 약 3회의 마이너 릴리즈 (4개월 주기)
- 최근 3개 릴리즈에 대한 버그픽스 제공
- 각 버전당 약 12-16개월의 지원 기간
- 새 버전 출시 시 가장 오래된 버전은 자동으로 EOL
현재 지원되는 버전 (2025년 11월 기준)
현재 커뮤니티에서 지원하는 버전은 4.1.0, 4.0.1, 3.9.1, 3.8.1, 3.7.2 입니다. 이 외 버전은 모두 EOL 상태로, 보안 패치나 버그 수정이 제공되지 않습니다.
참고 자료: End of Life Date – Apache Kafka
3. Apache Kafka 전체 버전 릴리즈 일정 및 지원 현황
4.x 시리즈 (최신 – ZooKeeper 제거)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 4.1.0 | 2025년 9월 2일 | ✅ 지원 중 | Queues 기능(Preview), 새로운 Streams Rebalance Protocol(Early Access), Eligible Leader Replicas(ELR) |
| 4.0.1 | 2025년 10월 10일 | ✅ 지원 중 | 49개 이슈 수정 |
| 4.0.0 | 2025년 3월 18일 | ⚠️ 4.0.1로 업그레이드 권장 | ZooKeeper 완전 제거, KRaft 기본 모드, Java 17 필수(Broker/Tools), Java 11 필수(Clients/Streams), Log4j2로 마이그레이션, 메시지 포맷 v0/v1 제거 |
3.9.x 시리즈 (4.0 브릿지 버전)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 3.9.1 | 2025년 5월 19일 | ✅ 지원 중 | 66개 이슈 수정, 안정성 개선 |
| 3.9.0 | 2024년 11월 6일 | ⚠️ 3.9.1로 업그레이드 권장 | KRaft 개선, 차세대 Consumer Rebalance Protocol(Preview), Dynamic KRaft Quorums 지원 |
3.8.x 시리즈
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 3.8.1 | 2024년 10월 29일 | ✅ 지원 중 | 버그 수정 및 성능 개선 |
| 3.8.0 | 2024년 7월 26일 | ⚠️ 3.8.1로 업그레이드 권장 | 압축 레벨 설정 지원(lz4, zstd, gzip), Log4j Appender Deprecated |
3.7.x 시리즈 (KRaft 프로덕션 지원)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 3.7.2 | 2024년 12월 13일 | ✅ 지원 중 | 최신 버그 수정 |
| 3.7.1 | 2024년 6월 28일 | ⚠️ 3.7.2로 업그레이드 권장 | 버그 수정, Java 11 Deprecated |
| 3.7.0 | 2024년 2월 26일 | ⚠️ 3.7.2로 업그레이드 권장 | ZooKeeper → KRaft 마이그레이션 프로덕션 지원, JBOD 지원, 리더 검색 최적화 |
3.6.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 3.6.2 | 2024년 4월 4일 | ❌ EOL | 28개 이슈 수정 |
| 3.6.1 | 2023년 12월 5일 | ❌ EOL | 30개 이슈 수정 |
| 3.6.0 | 2023년 10월 4일 | ❌ EOL | ZooKeeper → KRaft 마이그레이션 Early Access |
3.5.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 3.5.2 | 2023년 12월 8일 | ❌ EOL | 버그 수정 |
| 3.5.1 | 2023년 7월 21일 | ❌ EOL | 보안 패치, Rack-aware 파티션 할당 |
| 3.5.0 | 2023년 6월 13일 | ❌ EOL | 성능 개선 |
3.4.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 3.4.1 | 2023년 6월 6일 | ❌ EOL | 58개 이슈 수정 |
| 3.4.0 | 2023년 2월 6일 | ❌ EOL | 최근 복제본에서 Fetch 안정성 개선 |
3.3.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 3.3.2 | 2023년 2월 2일 | ❌ EOL | 20개 이슈 수정 |
| 3.3.1 | 2022년 10월 2일 | ❌ EOL | KRaft 프로덕션 지원 시작 |
| 3.3.0 | 2022년 9월 28일 | ⛔ 다운로드 불가 | 버그로 인해 즉시 3.3.1 릴리즈됨 |
3.2.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 3.2.3 | 2022년 9월 13일 | ❌ EOL | 3.2.2 긴급 수정 |
| 3.2.2 | 2022년 9월 2일 | ⛔ 사용 금지 | 버그 발견, 3.2.3 사용 권장 |
| 3.2.1 | 2022년 7월 21일 | ❌ EOL | 버그 수정 |
| 3.2.0 | 2022년 5월 3일 | ❌ EOL | Apple Silicon(M1/M2) 지원 |
3.1.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 3.1.2 | 2022년 9월 2일 | ❌ EOL | 버그 수정 |
| 3.1.1 | 2022년 4월 8일 | ❌ EOL | 버그 수정 |
| 3.1.0 | 2022년 1월 12일 | ❌ EOL | Topic IDs 도입 |
3.0.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 3.0.2 | 2022년 9월 2일 | ❌ EOL | 버그 수정 |
| 3.0.1 | 2022년 3월 3일 | ❌ EOL | 버그 수정 |
| 3.0.0 | 2021년 9월 8일 | ❌ EOL | KRaft Early Access, 메시지 포맷 v0/v1 Deprecated, Java 8 지원 |
2.8.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 2.8.2 | – | ❌ EOL | 버그 수정 |
| 2.8.1 | 2021년 5월 10일 | ❌ EOL | 버그 수정 |
| 2.8.0 | 2021년 4월 19일 | ❌ EOL | ZooKeeper 대체 Early Access (KRaft 실험 버전) |
2.7.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 2.7.2 | – | ❌ EOL | 26개 이슈 수정 |
| 2.7.1 | – | ❌ EOL | 45개 이슈 수정 |
| 2.7.0 | 2020년 12월 21일 | ❌ EOL | TCP 연결 타임아웃 설정, Topic/Partition 생성 Throttling, MirrorMaker 2.0 개선 |
2.6.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 2.6.3 | – | ❌ EOL | 버그 수정 |
| 2.6.2 | 2021년 1월 21일 | ❌ EOL | 버그 수정 |
| 2.6.1 | 2020년 11월 17일 | ❌ EOL | 버그 수정 |
| 2.6.0 | 2020년 8월 3일 | ❌ EOL | 성능 개선 |
2.5.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 2.5.1 | 2020년 8월 11일 | ❌ EOL | ZooKeeper TLS 지원, Admin Client TLS 지원 |
| 2.5.0 | 2020년 4월 15일 | ❌ EOL | 새로운 기능 추가 |
2.4.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 2.4.1 | 2020년 3월 12일 | ❌ EOL | 버그 수정 |
| 2.4.0 | 2019년 12월 16일 | ❌ EOL | Consumer Incremental Rebalance 프로토콜 |
2.3.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 2.3.1 | 2019년 10월 24일 | ❌ EOL | 버그 수정 |
| 2.3.0 | 2019년 6월 25일 | ❌ EOL | Kafka Streams 개선 |
2.2.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 2.2.2 | 2020년 1월 22일 | ❌ EOL | 보안 수정 |
| 2.2.1 | 2019년 6월 2일 | ❌ EOL | 버그 수정 |
| 2.2.0 | 2019년 3월 22일 | ❌ EOL | Admin Client 개선 |
2.1.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 2.1.1 | 2019년 2월 15일 | ❌ EOL | 버그 수정 |
| 2.1.0 | 2018년 11월 20일 | ❌ EOL | ZStandard 압축 지원, Java 11 지원 |
2.0.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 2.0.1 | 2018년 11월 7일 | ❌ EOL | 버그 수정 |
| 2.0.0 | 2018년 7월 30일 | ❌ EOL | Kafka Streams 대폭 개선, Scala 2.12 기본 버전 |
1.1.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 1.1.1 | 2018년 7월 19일 | ❌ EOL | 버그 수정 |
| 1.1.0 | 2018년 3월 28일 | ❌ EOL | Kafka Streams 개선 |
1.0.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 1.0.2 | 2018년 7월 7일 | ❌ EOL | 버그 수정 |
| 1.0.1 | 2018년 3월 5일 | ❌ EOL | 버그 수정 |
| 1.0.0 | 2017년 11월 1일 | ❌ EOL | Exactly-Once Semantics(EOS) 지원 |
0.11.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 0.11.0.3 | 2018년 7월 2일 | ❌ EOL | 버그 수정 |
| 0.11.0.2 | 2018년 2월 14일 | ❌ EOL | 버그 수정 |
| 0.11.0.1 | 2017년 9월 7일 | ❌ EOL | 버그 수정 |
| 0.11.0.0 | 2017년 6월 28일 | ❌ EOL | Exactly-Once Semantics 도입, Idempotent Producer |
0.10.2.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 0.10.2.2 | 2018년 5월 30일 | ❌ EOL | 보안 수정 |
| 0.10.2.1 | 2017년 4월 3일 | ❌ EOL | 버그 수정 |
| 0.10.2.0 | 2017년 2월 21일 | ❌ EOL | Kafka Connect 개선 |
0.10.1.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 0.10.1.1 | 2016년 12월 19일 | ❌ EOL | 버그 수정 |
| 0.10.1.0 | 2016년 10월 21일 | ❌ EOL | Rack Awareness, Time-based Release Plan 시작 |
0.10.0.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 0.10.0.1 | 2016년 8월 22일 | ❌ EOL | 버그 수정 |
| 0.10.0.0 | 2016년 5월 23일 | ❌ EOL | Kafka Streams 도입 |
0.9.0.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 | 주요 특징 |
|---|---|---|---|
| 0.9.0.1 | 2016년 2월 19일 | ❌ EOL | 버그 수정 |
| 0.9.0.0 | 2015년 11월 24일 | ❌ EOL | 새로운 Consumer API, Security 지원 |
0.8.2.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 |
|---|---|---|
| 0.8.2.2 | 2015년 10월 1일 | ❌ EOL |
| 0.8.2.1 | 2015년 3월 4일 | ❌ EOL |
| 0.8.2.0 | 2015년 2월 2일 | ❌ EOL |
0.8.1.x 시리즈 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 |
|---|---|---|
| 0.8.1.1 | 2014년 5월 8일 | ❌ EOL |
| 0.8.1.0 | 2014년 3월 19일 | ❌ EOL |
초기 버전 (EOL)
| 버전 | 릴리즈 날짜 | 지원 상태 |
|---|---|---|
| 0.8.0 | 2013년 11월 | ❌ EOL |
| 0.7.2 | 2012년 | ❌ EOL |
참고 자료
- Apache Kafka Downloads & Release Notes
- Apache Kafka Archive
- Kinetic Edge – Kafka Version History
- Apache Kafka Release Plans
4. Confluent Platform의 상용 지원은 어떻게 다른가요?
Apache Kafka의 오픈소스 버전과 달리, Confluent Platform은 상용 라이선스를 통해 최대 3년의 연장 지원을 제공합니다.
Confluent Platform 지원 정책
| 지원 등급 | 지원 기간 | 내용 |
|---|---|---|
| Standard | 2년 | 마이너 버전 릴리즈 날짜부터 2년간 보안 패치 및 버그 수정 |
| Platinum | 3년 | Standard 지원 + 1년 연장 지원 |
예를 들어, Confluent Platform 7.4.x는 2023년 5월 3일에 릴리즈되었고, Standard 지원은 2025년 5월 3일까지, Platinum 계약이 있다면 2026년 5월 3일까지 지원됩니다.
Confluent Platform의 장점
- 보안 패치 지속 제공
- 엔터프라이즈급 기술 지원
- 상용 커넥터 및 추가 기능 제공
- SLA(서비스 수준 협약) 보장
참고 자료: Confluent Platform Versions and Interoperability
5. 버전 업그레이드, 어떻게 준비하면 좋을까요?
Kafka 4.0 이상으로 업그레이드하는 경우
Kafka 4.0은 ZooKeeper를 완전히 제거한 첫 메이저 버전입니다. 업그레이드 경로를 신중하게 계획해야 합니다.
권장 업그레이드 경로
[2.x 버전 사용 중]
↓
3.4.x로 업그레이드
↓
ZooKeeper를 3.8로 업그레이드
↓
3.9.x로 업그레이드
↓
KRaft 마이그레이션 수행
↓
4.0.x로 업그레이드
업그레이드 전 확인사항
| 항목 | 요구사항 | 설명 |
|---|---|---|
| Java 버전 | Java 17 (Broker/Tools)<br>Java 11 (Clients/Streams) | 4.0부터 Java 버전 요구사항 상향 |
| KRaft 마이그레이션 | 3.7 이상에서 완료 | 프로덕션 환경 마이그레이션 지원 버전 |
| 클라이언트 호환성 | 2.1 이상 | 구 버전 클라이언트는 호환 불가 |
| 메시지 포맷 | v2 이상 | v0, v1 포맷은 4.0에서 완전 제거 |
| Log4j | Log4j2로 전환 | Log4j 설정 파일 마이그레이션 필요 |
참고 자료: Exploring Kafka 4: Upgrade Considerations
3.x 버전 간 업그레이드
3.x 버전 간 업그레이드는 상대적으로 안전하지만, 다음 사항을 확인하세요:
- 롤링 업그레이드 가능: 최근 1년 내 릴리즈 간 지원
- ZooKeeper 버전: 3.5 이상에서 3.8로 업그레이드 권장
- Scala 버전: 2.13이 권장 버전
- 테스트 환경: 반드시 스테이징 환경에서 먼저 검증
6. 버전 관리, 이렇게 해보세요
정기적인 점검과 계획
분기별 체크리스트
- 현재 사용 중인 버전의 EOL 일정 확인
- 새로운 버전의 릴리즈 노트 검토
- 업그레이드 필요 여부 판단
업그레이드 준비 타이밍
- EOL 6개월 전부터 업그레이드 계획 수립
- 3개월 전 테스트 환경에서 검증 시작
- 1개월 전 프로덕션 업그레이드 일정 확정
버전 선택 가이드
| 용도 | 권장 버전 | 이유 |
|---|---|---|
| 신규 프로젝트 | 4.1.0 | 최신 기능 + 안정성 확보 |
| 프로덕션 환경 | 3.9.1 또는 4.0.1 | 최신 패치 버전 사용 |
| 레거시 마이그레이션 | 3.9.1 | 4.0으로 가는 브릿지 역할 |
| 안정성 중시 | 최신 패치 버전 | 버그 수정 반영 필수 |
모니터링 체크 사항
버전 확인 명령어
# Kafka 버전 확인
${KAFKA_HOME}/bin/kafka-topics.sh --version
# 또는
${KAFKA_HOME}/bin/kafka-broker-api-versions.sh \
--bootstrap-server localhost:9092
ZooKeeper 사용 여부 확인 (4.0 이전)
# ZooKeeper 연결 테스트
${KAFKA_HOME}/bin/zookeeper-shell.sh localhost:2181
# ZooKeeper 노드 확인
ls /brokers/ids
KRaft 모드 확인 (3.3 이상)
# 클러스터 메타데이터 확인
${KAFKA_HOME}/bin/kafka-metadata.sh \
--snapshot /tmp/kraft-combined-logs/__cluster_metadata-0/00000000000000000000.log \
--print
7. 자주 묻는 질문들
Q: EOL된 버전을 계속 사용하면 어떻게 되나요?
A: 보안 패치와 버그 수정이 제공되지 않아 보안 취약점에 노출될 수 있습니다. 특히 금융권이나 개인정보를 다루는 서비스라면 컴플라이언스 이슈가 발생할 수 있어요. 가능한 빠른 시일 내에 지원되는 버전으로 업그레이드하시는 걸 권장합니다.
Q: 4.0으로 바로 업그레이드해도 되나요?
A: 현재 3.7 이상에서 KRaft 마이그레이션을 완료하셨다면 가능합니다. 그렇지 않다면 3.9를 거쳐 KRaft로 전환한 후 4.0으로 이동하는 게 안전해요. ZooKeeper를 사용 중이라면 반드시 KRaft 마이그레이션을 먼저 진행하셔야 합니다.
Q: AWS MSK나 Confluent Cloud는 어떤 버전을 사용하나요?
A: 관리형 서비스는 자체 업그레이드 정책을 따릅니다. AWS MSK는 현재 4.1, 4.0, 3.9, 3.8 등을 지원하며, 자동 업그레이드 옵션을 제공합니다. Confluent Cloud는 최신 버전을 빠르게 지원하며, 롤링 업그레이드를 통해 무중단으로 버전을 올려줍니다.
Q: 커뮤니티 버전과 Confluent Platform 중 어떤 걸 선택해야 하나요?
A: 빠른 업그레이드가 가능하고 인프라 관리 역량이 있다면 커뮤니티 버전도 좋습니다. 하지만 장기 지원이 필요하거나, 엔터프라이즈 기능(Schema Registry, KSQL, Control Center 등)이 필요하다면 Confluent Platform을 고려해보세요. 3년 지원과 기술 지원을 받을 수 있어서 운영 부담이 줄어듭니다.
Q: 3.3.0 버전은 왜 다운로드가 안 되나요?
A: 3.3.0은 릴리즈 직후 심각한 버그가 발견되어, 즉시 3.3.1이 릴리즈되었습니다. 그래서 공식적으로 3.3.0은 다운로드가 제공되지 않아요. 3.3.x 시리즈를 사용하신다면 3.3.1 이상을 사용하시면 됩니다.
Q: Java 버전 업그레이드가 부담스러운데, 방법이 있나요?
A: Java 버전 요구사항이 계속 올라가고 있어서 부담스러우실 수 있어요. 단계적으로 접근해보세요:
- 먼저 테스트 환경에서 Java 버전 업그레이드 테스트
- 클라이언트 애플리케이션부터 Java 버전 업그레이드
- 마지막으로 Kafka 브로커 업그레이드
장기적으로는 Java 버전을 최신으로 유지하는 게 보안과 성능 면에서 유리합니다.
마무리하며…
Apache Kafka의 빠른 릴리즈 주기(연 3회)는 최신 기능과 성능 개선을 빠르게 접할 수 있다는 장점이 있지만, 동시에 버전 관리에 신경을 써야 한다는 의미이기도 합니다.
특히 Kafka 4.0의 ZooKeeper 제거는 인프라 아키텍처의 근본적인 변화를 의미하기에, 충분한 준비 기간을 갖고 단계적으로 진행하시는 게 좋습니다. 하지만 이 변화는 장기적으로 Kafka 클러스터 관리를 훨씬 단순하게 만들어줄 거예요.
현재 사용 중인 버전이 지원 기간 내에 있는지 확인해보시고, EOL이 다가오고 있다면 지금부터 업그레이드 계획을 세워보시면 어떨까요? 데이터 파이프라인의 안정성과 보안을 위해 버전 관리는 꼭 필요한 부분입니다.
혹시 업그레이드 과정에서 어려움이 있으시다면, 공식 문서와 커뮤니티를 적극 활용해보세요. 🙂
관련 공식 문서 및 참고 자료
- Apache Kafka Official Website
- Apache Kafka Downloads & Release Notes
- Apache Kafka Documentation
- End of Life Date – Apache Kafka
- Kinetic Edge – Kafka Version History
- Apache Kafka Release Plans
- Confluent Platform Documentation
- AWS MSK Supported Versions
- Kafka 4.0 Release Blog