1.4 카프카의 성장
리플리케이션 기능 추가(v0.8)
- 2013년 12월 버전 0.8을 공개하면서 리플리케이션이 추가되었다.
- 브로커 장애가 발생해도 데이터 유실 없이 안정적인 사용이 가능해졌다.
스키마 레지스트리 공개(v0.8.2)
- 카프카 데이터 흐름음 대부분 브로드캐스트 방식이라 컨슈머 입장에선 프로듀서를 일방적으로 믿을 수밖에 없는 구조다.
- 때문에 비정형 데이터 파싱에 많은 데이터를 소비할 수밖에 없었다.
- 스키마 레지스트리는 이런 문제를 해결하고자 프로듀서 컨슈머 간 데이터 구조를 설명할 수 있는 스키마 등록, 지정, 사용 가능한 애플리케이션이다.
카프카 커넥트 공개(v0.9)
- 카프카와 연결되는 시스템은 점점 다양해졌다.
- db - MySQL, SQL, PostgreSQL, 몽고DB 등
- 프로토콜 - FTP, HDFS, S3 등
- 카프카 커넥트를 통해 별도 코드 작성 없이 다양한 프로토콜과 카프카를 연동할 수 있게 되었다.
카프카 스트림즈(v0.10)
- 높은 처리량, 빠른 응답 속도를 지원하는 실시간 처리를 지원하는 카프카 스트림즈가 공개되었다.
- 이를 통해 많은 기업에서 실시간 분석, 처리 등이 가능해졌다.
KSQL 공개
- 익숙한 SQL 기반의 실시간 처리 가능한 KSQL이 공개되었다.
- 개발자들이 별도의 코드를 작성하지 않고 쿼리를 통해 수행 가능
- KSQL을 통해 스트림 처리 뿐 아니라 배치 처리 등이 가능하다.
주키퍼 의존성에서 해방 (v3.0)
- 주키퍼는 분산 코디네이션 시스템으로 카프카에서 사용되어 왔으나 높은 성능을 갖는 데 큰 장벽이었다.
- 2021년 9월, 3.0이 릴리즈되며 주키퍼 없이 동작 가능한 카프카가 공개되었다.
- 하지만 아직 실제 운영 환경에서 사용하는 것은 추천하지 않는다고 한다.
- 카프카 자체에 내장된 컨센서스 레이어(KRaft)를 통해 클러스터 메타데이터를 직접 관리하게 되었고, 이를 통해 인프라가 단순해지고 운영 효율이 크게 개선되었다.