Kafka: The Definitive Guide, 2nd Edition
by Gwen Shapira, Todd Palino, Rajini Sivaram, Krit Petty
제2판 서문
Kafka 초판: 최종 가이드의 초판은 5년 전에 출판되었습니다. 당시에는 Fortune 500대 기업 중 30%의 기업에서 Apache Kafka를 사용하고 있는 것으로 추정했습니다. 현재는 Fortune 500대 기업의 70% 이상이 Apache Kafka를 사용하고 있습니다. 여전히 세계에서 가장 인기 있는 오픈 소스 프로젝트 중 하나이며 거대한 에코시스템의 중심에 있습니다.
왜 이렇게 흥분할까요? 데이터 인프라에 큰 격차가 있었기 때문이라고 생각합니다. 전통적으로 데이터 관리는 데이터를 안전하게 보관하고 적시에 적절한 비트를 조회할 수 있게 해주는 파일 저장소와 데이터베이스 등 스토리지에 관한 것이 전부였습니다. 이러한 시스템에 막대한 지적 에너지와 상업적 투자가 쏟아졌습니다. 하지만 현대의 기업은 단순히 하나의 데이터베이스가 있는 하나의 소프트웨어가 아닙니다. 현대의 기업은 수백, 수천 개의 맞춤형 애플리케이션, 마이크로서비스, 데이터베이스, SaaS 계층 및 분석 플랫폼으로 구축된 엄청나게 복잡한 시스템입니다. 그리고 이 모든 것을 하나의 회사로 연결하고 실시간으로 함께 작동하도록 하는 것이 점점 더 큰 문제로 대두되고 있습니다.
이 문제는 저장된 데이터를 관리하는 것이 아니라 이동 중인 데이터를 관리하는 것입니다. 그리고 이러한 움직임의 중심에는 이동 중인 데이터를 위한 모든 플랫폼의 사실상 기반이 된 Apache Kafka가 있습니다.
이 여정에서 Kafka는 정적인 상태를 유지하지 않았습니다. 베어본 커밋 로그에서 시작하여 커넥터와 스트림 처리 기능을 추가하고, 그 과정에서 자체 아키텍처를 재창조하는 등 진화해 왔습니다. 커뮤니티는 기존 API, 구성 옵션, 메트릭, 도구를 발전시켜 Kafka의 사용성과 안정성을 개선했을 뿐만 아니라 새로운 프로그래밍 방식의 관리 API, 단일 실행 파일에서 Kafka를 실행할 수 있는 새로운 Raft 기반 합의 프로토콜인 MirrorMaker 2.0을 통한 차세대 글로벌 복제 및 DR, 계층화된 스토리지 지원을 통한 진정한 탄력성을 도입하기도 했습니다. 무엇보다도 중요한 것은 인증, 권한 부여, 암호화 등 고급 보안 옵션에 대한 지원을 추가하여 중요한 엔터프라이즈 사용 사례에서 Kafka를 손쉽게 사용할 수 있게 되었다는 점입니다.
Kafka가 발전함에 따라 사용 사례도 진화하고 있습니다. 초판이 발행되었을 때, 대부분의 Kafka 설치는 여전히 전통적인 배포 스크립트를 사용하는 전통적인 온프레미스 데이터 센터에서 이루어졌습니다. 가장 인기 있는 사용 사례는 ETL과 메시징이었으며, 스트림 처리 사용 사례는 아직 첫걸음을 내딛는 단계였습니다. 5년이 지난 지금, 대부분의 Kafka 설치는 Cloud에서 이루어지고 있으며, 대부분은 Kubernetes에서 실행되고 있습니다. ETL과 메시징은 여전히 인기가 있지만, 이벤트 기반 마이크로서비스, 실시간 스트림 처리, IoT, 머신 러닝 파이프라인, 그리고 보험사의 보험금 청구 처리부터 은행의 거래 시스템, 비디오 게임 및 스트리밍 ...