대량의 데이터를 손실없이 빠르고 정확하게 처리하고 싶다면? 정답은 카프카! 풍부한 그림으로 쉽고 빠르게 이해하는 카프카의 내부 구조와 동작 방식부터 카프카 클라이언트의 기본이 되는 예제 코드와 실제 운영에서 필요한 핵심 노하우는 물론이고, 365일 안전한 카프카를 운영할 수 있는 보안과 모니터링 기법, 운영 편의성과 효율성을 극대화할 수 있는 스키마 레지스트리와 카프카 커넥트까지 카프카에 대한 모든 것을 담은 가장 완벽하고 상세한 최고의 가이드북이다.이 책에서 다루는 내용 - 풍부한 그림으로 알기 쉽게 설명한 카프카 내부 구조와 동작 원리- 자바와 파이썬을 이용한 카프카 클라이언트 예제 코드- AWS와 온프레미스 환경에서의 카프카 구축과 운영- 고통을 최소화하는 카프카 업그레이드와 유지보수 방안- 아파치 카프카 기반 보안 구축 방법- 스키마 레지스트리와 카프카 커넥트의 다양한 활용 - 카프카를 제대로 사용하기 위한 프로듀서/컨슈머의 내부 동작과 리밸런싱 동작 방식- 엔터프라이즈 환경에서의 카프카 아키텍처 구성 사례- 현업 전문가의 경험과 팁을 정리한 Q&A이 책의 대상 독자- 카프카를 배우고자 하는 초보자- 카프카를 현업에 적용하고 싶은 운영자- 카프카를 최대한 활용하기 위해 내부 동작 방식을 알고 싶은 개발자- 카프카와 카프카 에코시스템을 이해하고 활용하고자 하는 개발자- 데이터 표준화와 실시간 처리에 대해 고민하는 아키텍트- 효율적으로 데이터를 수집, 처리, 분석하기를 원하는 아키텍트이 책의 구성 1장 ‘카프카 개요’에서는 잘란도와 트위터의 카프카 도입 사례를 통해 우수 기업에서의 고민들과 카프카의 특장점을 알아보고, 국내외 카프카 현황 등을 알아봅니다. 나날이 발전하고 있는 카프카의 성장 과정을 살펴보고 사용 사례도 알아봅니다.2장 ‘카프카 환경 구성’은 이 책의 전반적인 실습 환경을 구성하기 위한 내용으로, AWS 환경과 온프레미스 환경에서 구성하는 방법을 처음 AWS를 접하는 분들도 쉽게 따라 할 수 있도록 자세하게 설명했습니다. AWS 환경에서 카프카 설치가 완료되면 간단한 맛보기 예제로 카프카에 대해 알아봅니다.3장 ‘카프카 기본 개념과 구조’에서는 카프카의 기본 지식을 쌓기 위해 카프카 기본 구조, 프로듀서와 컨슈머의 동작과 예제 코드를 살펴봅니다.4장 ‘카프카의 내부 동작 원리와 구현’에서는 카프카의 주요 핵심 기능을 살펴보며, 리플리케이션과 관련된 내부 상세 동작, 컨트롤러의 역할, 로그 등을 집중적으로 다뤄봅니다.5장 ‘프로듀서의 내부 동작 원리와 구현’에서는 프로듀서의 핵심 기능을 살펴보며, 파티셔너, 중복 없는 메시지 전송, 정확히 한 번 전송 등 프로듀서에서 안정적인 메시지 전송을 하기 위해 반드시 알아야 할 내용을 다룹니다.6장 ‘컨슈머의 내부 동작 원리와 구현’에서는 컨슈머의 핵심 기능을 살펴봅니다. 컨슈머의 오프셋관리, 그룹 코디네이터의 동작과 파티션 전략 등 컨슈머를 안정적으로 개발하고 운영하기 위한 핵심 내용을 살펴봅니다.7장 ‘카프카 운영과 모니터링’에서는 카프카를 안정적으로 운영하기 위한 방법과 노하우 등을 살펴봅니다. 모니터링 시스템을 직접 구축하는 실습을 통해 안정적으로 모니터링하는 방법을 알아봅니다.8장 ‘카프카 버전 업그레이드와 확장’에서는 카프카 운영 시 필수적인 버전 업그레이드와 스케일아웃 방법을 직접 실습하면서 이해해봅니다.9장 ‘카프카 보안’에서는 카프카에서 제공하는 보안 관련 내용을 다룹니다. 보안을 적용하는 실습 과정도 진행해봅니다.10장 ‘스키마 레지스트리’에서는 스키마 레지스트리의 개요와 활용 방법을 알아봅니다. 스키마 레지스트리를 처음 접하는 분들을 위해 에이브로(Avro) 기반의 실습 과정과 예제 코드를 함께 다룹니다.11장 ‘카프카 커넥트’에서는 카프카 커넥트의 기본 개념과 동작 등을 살펴봅니다. 최근 공개된 미러 메이커 2.0에 대한 간략한 소개와 함께 미러링 방법을 배워봅니다.12장 ‘엔터프라이즈 카프카 아키텍처 구성 사례’에서는 지금까지 책에서 다룬 내용을 기반으로 엔터프라이즈 환경과 유사하게 미러 메이커는 물론이고 엘라스틱서치 및 모니터링 등을 통합 구성해 실습해봅니다.13장 ‘카프카의 발전과 미래’에서는 최근 가장 큰 이슈인 주키퍼의 의존성을 없애려는 배경과 현재 진행 상황 그리고 앞으로의 방향에 대해 살펴봅니다.4개 부록에서는 각각 MSK, 컨플루언트 클라우드(Confluent Cloud)에서 카프카를 구성하는 방법과 장단점을 비교했으며, 앤서블(Ansible)의 특징과 실습 환경 구성, 도커(Docker)를 이용한 카프카 설치 등 별도로 기초 과정을 추가해 처음 접하는 분들도 쉽게 이해할 수 있도록 설명했습니다. 또한 사용자들이 평소 궁금해 하는 질문들을 간단히 살펴볼 수 있도록 요약 정리했습니다.이 책을 활용하기 위한 개발 환경- 아파치 카프카 2.6- 아파치 주키퍼 3.5.9- 컨플루언트 카프카 6.1- 자바 1.8- 파이썬 3.7.9- 앤서블(Ansible) 2.9.12- 운영체제: 온프레미스(CentOS7), AWS(Amazon Linux 2)이 책을 마무리하는 시점인 2021년 9월 말 기준으로 아파치 카프카 3.0이 릴리스되었습니다. 하지만 아파치 카프카 3.0에서 새로이 도입된, 주키퍼 의존성이 제거된 크래프트(KRaft) 알고리즘 등은 아직 운영 환경에서 사용하는 것이 권장되지 않습니다. 따라서 이 책에서 모든 실습 예제와 설명은 엔터프라이즈 환경에서 안정적으로 사용할 수 있는 아파치 카프카 2.6을 기준으로 전개합니다.[베타리더 한마디]MSA, EDA 기반 설계에서 카프카는 핵심 시스템으로 자리 잡았다. 수많은 컨트리뷰터의 노력으로 성숙도가 많이 올라갔고, 다양한 기업에서 활용되며 대용량 메시지 처리에서도 안정성을 입증하고 있다. 저자는 이러한 국내의 카프카 활성화와 다양한 유스 케이스에 많은 기여를 했다. 카프카 한국 사용자 그룹을 운영하고 『카프카, 데이터 플랫폼의 최강자』를 집필해 많은 카프카 입문자에게 기초 이론과 운영 노하우를 알렸다. 이번에 나온 『실전 카프카 개발부터 운영까지』는 새로운 버전의 카프카 전문 서적으로 최신 카프카의 정보를 싣고, 모든 챕터에서 실무에 적용 가능한 예제를 풍부하게 담았다. 또한 알기 쉽게 풀이하여 독자들이 카프카 관련 내용을 온전히 습득할 수 있도록 기술했다. 최근 더욱 높아진 사용자의 눈높이에 맞춰 모니터링, 보안 그리고 스키마 레지스트리, 커넥트 등과 같은 컴포넌트 활용 방법이 구성되어 있으며, 특히 버전 업그레이드, 엔터프라이즈 구성, Q&A 챕터는 저자의 운영 실무 노하우가 담겨 있어 독자의 의문점을 완벽히 해소해줄 것이다.- 이승하 / 무신사 빌링개발 팀카프카에 대해 공부해보고 싶은 학생, 카프카를 이용해 애플리케이션을 만들려는 개발자, 또는 카프카 클러스터를 운영하는 엔지니어 등 이 책을 손에 쥔 독자층은 매우 다양할 것입니다. 이 책은 여기에 나열된 누구에게나 유익한 책입니다. 학생분들은 카프카가 해결하려는 문제의 본질을 배울 수 있으며, 개발자분들은 프로듀서/컨슈머를 개발하면서 그간 알고 싶었던 궁금증을 해결할 실마리를 찾을 수 있을 테고, 관리자분들은 카프카를 안정적으로 운영하기 위해 필요한 지식을 얻어갈 것이라 확신합니다.이 책이 더욱 특별했던 점은 저자의 풍부한 카프카 운영 경험에 기반한 정보가 많다는 점입니다. 저자는 실무에서 맞닥뜨릴 법한 상황들을 가정해서 그에 맞는 정보를 과하지도 부족하지도 않게 풀어내는 식으로 내용을 전개합니다. 평소에 그와 같은 문제에 대해 고민해봤던 분들에게는 단비 같은 내용일 것입니다. 제가 그랬듯, 독자 여러분들도 이런 꿀팁을 많이 얻어가시길 바랍니다.- 남지열 / DPG미디어 머신러닝 엔지니어실제로 카프카를 구성하는 것은 -이론상- 그리 어려운 일이 아니다. 공식 문서를 따라 주키퍼와 브로커를 구성하고, 인터넷에 떠다니는 예제를 참고해서 컨슈머/프로듀서 애플리케이션을 띄우고 나면 나름의 메시지 파이프라인을 완성할 수 있기 때문이다. 하지만 우리의 카프카를 사용하는 개발자는 여러 요구사항을 쏟아낸다. 가령 "이 메시지는 절대 유실되면 안 돼요!"부터, "메시지를 S3에 넣고 싶은데, 저희가 직접 클라이언트를 개발/운영해야 하나요?"나 "자꾸 이상한 메시지가 유입되어서 클라이언트가 죽어요!"까지! 게다가 잘 동작하던 카프카 클러스터도 때때로 말썽을 피운다. 이처럼 카프카는 이론과 실전의 차이가 하늘과 땅만큼, 어쩌면 그 이상일 수도 있다.이 책에는 단단한 이론 사이에 자리한 저자의 실전 운영 경험이 분명하게 녹아 있다. 그렇기에 이 책을 통해 카프카를 시작하는 사람은 카프카 생태계의 지식과 운영에 대한 실마리를 얻을 수 있고, 이미 운영하고 있는 사람에겐 더욱 안정적이고 고도화된 카프카 운영을 위한 발판을 마련해줄 것이다.- 김대호 / 우아한형제들 클라우드 플랫폼 개발 팀카프카의 설치부터 운영까지의 모든 과정을 담고 있어서 카프카를 처음 접하는 사람이어도 하나씩 실습을 따라해보면 손쉬운 구축과 운영이 가능합니다 특히 클라우드 환경에서 실습을 제공하여 패러다임 변화에 맞게 빠르게 실무에 적용해볼 수 있다는 점이 좋았습니다. 카프카를 다루는 데 필요한 기본 개념부터, 실무에서 사용하는 다양한 운영 환경 구축까지 많은 실습을 통해 저자 자신이 쌓아온 풍부한 운영 경험과 핵심 기술적 노하우를 독자들과 나누고자 하는 목표가 눈에 띕니다. 카프카를 처음 시작하는 분이거나 전문가가 되고 싶어 하는 분들에게 많은 도움이 될 것입니다.- 이상진 / 카카오 하둡 엔지니어링 파트[지은이의 말]2018년 첫 저술작인 『카프카, 데이터 플랫폼의 최강자』를 출간한 이래 어느덧 만 3년이 지난 2021년 가을 현재, 그때에 비하면 오늘날 카프카는 기업의 부가가치를 높이는 핵심 인프라스트럭처로서 인지도와 위상이 매우 높아졌을 뿐만 아니라, 카프카를 채택한 여러 기업 사례에 대한 소식이 여기저기서 들려오고 있습니다. 그리고 온프레미스뿐만 아니라 클라우드를 이용해 다양한 서비스를 제공하는 많은 기업이 카프카를 도입해 가시적 성과를 보여주고 있습니다. 하지만 카프카 에코시스템에 참여하고 싶은 기업들이 참고할 만한 자료나 도서는 여전히 부족한 것이 현실입니다. 이에 저는 첫 책 출간 이후에 그간 현업에서 쌓아온 다양한 실무 경험을 녹여내고 좀 더 다양해진 기술 양상을 반영할 수 있는 또 한 권의 새로운 카프카 책을 집필함으로써, 카프카를 도입해 최적화하는 과정에서 많은 공과 노력을 쏟고 있는 여러 운영자와 개발자, 아키텍트 여러분께 미약하나마 등불을 밝혀주는 소임을 완성하고 싶었습니다.이 책에서는 전작을 확장하는 개념으로, 카프카의 내부 구조와 동작 원리, 그리고 실제 현업에서 맞닥뜨리는 문제인 설치, 운영, 유지보수, 확장, 안정성 강화, 업그레이드까지 카프카에 대한 거의 모든 것을 정리했습니다. 가장 일선에서 카프카를 도입하고 사용해온 운영자로서 독자 여러분께 드리는 종합선물세트라고 할 수 있습니다. 초보자분들이 『카프카, 데이터 플랫폼의 최강자』 책에서 기초적인 개념을 익히고 나서 이번 『실전 카프카 개발부터 운영까지』 책에서는 좀 더 심도 깊은 운영과 새로운 핵심 요소들을 숙지하신다면, 현업에서 카프카를 운영하는 데 필요한 이론과 실전 노하우를 완벽히 갖추실 수 있으리라 생각합니다. 물론 중급자들이 알아야 할 다양한 팁과 지식도 많이 담고자 노력했습니다. 모쪼록 많은 분이 이 책을 통해 카프카를 좀 더 쉽게 이해하고 효율적으로 잘 활용할 수 있길 바랍니다.