본문 바로가기

도서 소개

카프카 핵심 가이드(개정증보판)

카프카를 개발한 컨플루언트와 링크드인의 엔지니어들이 직접 저술한
카프카 환경 구축과 운영에 대한 핵심 실무서

 

도서구매 사이트(가나다순)

교보문고 / 도서11번가 / 알라딘 / 예스이십사 / 인터파크 / 쿠팡

 

출판사 제이펍
저작권사 O'Reilly Media
원서명 Kafka: The Definitive Guide, 2nd Edition(원서 ISBN 9781492043089)
도서명 카프카 핵심 가이드(개정증보판)
부 제 대규모 실시간 데이터와 스트림 처리
지은이 그웬 샤피라, 토드 팔리노, 라지니 시바람, 크리트 페티
옮긴이 이동진
감수자 (없음)
시리즈 (없음)
출판일 2023년 4월 14일
페이지 520쪽
판 형 46배판변형(188*257*24.7)
제 본 무선(soft cover)
정 가 33,000원
ISBN 979-11-92469-76-8 (93000)
키워드 Kafka / 아파치 / 데이터 파이프라인 / 데이터베이스 / 빅데이터 / 주키퍼 / 컨슈머 / 프로듀서 / 커밋 / 디시리얼라이저 / 클러스터 / 스트림 처리
분 야 데이터베이스 / 빅 데이터

 

관련 사이트

자 깃허브(공식 웹사이트 및 독자 Q&A)

아마존 도서소개 페이지
카프카(Kafka) 공식 페이지

 

관련 포스트
카프카를 창시한 사람들이 쓰고, 카프카 개발에 참여한 이가 옮긴 핵심 실무서

 

관련 도서
러닝 스파크(개정판): 아파치 스파크를 이용한 데이터 분석 및 머신러닝 알고리즘

 

강의 보조 자료(교재로 채택하신 분들은 메일(textbook@jpub.kr)을 보내주시면 다음 자료를 보내드립니다.)
■ 본문의 그림과 표

 

■ 미리 보기(앞부속, 1장 '카프카 시작하기', 6장 '카프카 내부 메커니즘' 일부)

 
카프카핵심가이드(개정증보판)_sample.pdf
2.85MB

 

정오표 페이지
https://dongjinleekr.github.io/kafka-the-definitive-guide-v2/errata/

 

도서구매 사이트(가나다순)

교보문고 / 도서11번가 / 알라딘 / 예스이십사 / 인터파크 / 쿠팡

 

도서 소개

카프카를 창시한 사람들이 쓰고, 카프카 개발에 참여한 한국인 개발자가 옮긴 핵심 실무서

 

모든 엔터프라이즈 애플리케이션은 로그 메시지, 지표, 사용자 행동 혹은 외부로 발신되는 메시지에 이르는 다양한 데이터를 생성하며, 이 데이터를 이동시키는 방법은 데이터 그 자체만큼이나 중요하다. 애플리케이션 아키텍트, 개발자에서부터 카프카 스트리밍 플랫폼이 처음인 프로덕션 엔지니어에 이르기까지, 업데이트된 이 개정증보판(카프카의 AdminClient API, 트랜잭션, 새로 추가된 보안 기능 그리고 툴 관련 변경점을 다루는 장들이 새로 추가됨)을 통해 이동하는 데이터를 다루는 방법에 대해 배울 수 있다.
카프카의 개발을 담당했던 컨플루언트와 링크드인의 개발자들이 카프카 클러스터를 프로덕션 환경에 설치하는 방법, 신뢰성 있는 이벤트 주도 마이크로서비스를 개발하는 방법, 그리고 카프카를 플랫폼으로 사용해서 규모 가변적인 스트림 처리 애플리케이션을 개발하는 방법을 설명한다. 상세한 예제를 통해 카프카의 설계 원칙, 신뢰성 보장, 핵심 API 그리고 복제 프로토콜, 컨트롤러, 저장 레이어에 이르는 아키텍처의 상세한 부분까지 배울 수 있다.

■ 카프카 설정, 설치에 관한 모범 사례
■ 메시지를 쓰고 읽기 위해 카프카 프로듀서와 컨슈머를 사용하는 방법
■ 신뢰성 있게 데이터를 전달하기 위한 패턴과 활용 사례 요구 사항
■ 카프카를 사용해서 데이터 파이프라인과 애플리케이션을 개발하는 모범 방법론
■ 카프카를 프로덕션 환경에서 운영할 때 모니터링하고, 튜닝하고, 유지 관리하는 방법
■ 카프카를 운영하는 데 있어서 가장 중요한 성능 지표들
■ 스트림 처리 시스템에 있어 카프카에서 사용 가능한 전달 보장

 

“ 개발자와 운영자 모두에게 필수적인 책.
카프카를 사용 중이거나 운영 중이라면 이 책이 꼭 필요할 겁니다. ”

___ 크리스 리코미니(Chris Riccomini)
소프트웨어 엔지니어, 스타트업 고문 그리고 《The Missing README》의 공저자

 

 

지은이 소개

그웬 샤피라(Gwen Shapira)
컨플루언트의 엔지니어링 팀장으로서, 컨플루언트 클라우드를 위해 카프카를 더 유연하고, 규모 확장성 있고, 멀티테넌시 친화적으로 만드는 작업을 담당하는 클라우드 네이티브 카프카 팀을 이끌고 있다.

토드 팔리노(Todd Palino)
링크드인의 수석 사이트 신뢰성 엔지니어로, 플랫폼 전체에 걸친 가용량과 효율성 관련된 문제를 해결해 왔다. 그 전까지는 링크드인의 카프카와 주키퍼 관련한 아키텍처를 설계하고, 운영하고, 선구적인 모니터링과 경보 시스템을 포함한 관련 툴들을 개발했다.

라지니 시바람(Rajini Sivaram)
컨플루언트의 수석 엔지니어로, 카프카의 클러스터 간 복제 기능과 컨플루언트 플랫폼, 컨플루언트 클라우드의 보안 기능을 설계하고 개발한다. 아파치 카프카 프로젝트의 커미터이며 PMC 멤버이기도 하다.

크리트 페티(Krit Petty)
링크드인에서 카프카 사이트 신뢰성 엔지니어링 조직을 담당하고 있다. 관리자가 되기 전에는 팀에서 사이트 신뢰성 엔지니어로 일하면서 카프카가 기존의 한계를 넘어 확장될 수 있도록 개선하는 작업을 했다.

 

옮긴이 소개

이동진

네이버에서 사내 카프카 서비스를 개발하고 있으며, 관련 프로젝트의 사내 배포판 작업 역시 담당하고 있다. 오랫동안 빅데이터 관련 작업을 해오면서 그만큼 많은 관련 프로젝트에 다양한 기여를 해 왔다. 아파치 카프카에서는 압축 관련 기능, 아파치 스파크와의 레코드 헤더 연동 기능 등을 개발했다.

 

차례

옮긴이 머리말 xv

베타리더 후기 xvi

2판 추천사 xviii

1판 추천사 xx

시작하며 xxiii

 

CHAPTER 1 카프카 시작하기 1

1.1 발행/구독 메시지 전달 2

1.2 카프카 입문 4

1.3 왜 카프카인가? 10

1.4 데이터 생태계 12

1.5 카프카의 기원 15

1.6 카프카 시작하기 18

 

CHAPTER 2 카프카 설치하기 19

2.1 환경 설정 19

2.2 카프카 브로커 설치하기 23

2.3 브로커 설정하기 25

2.4 하드웨어 선택하기 34

2.5 클라우드에서 카프카 사용하기 36

2.6 카프카 클러스터 설정하기 37

2.7 프로덕션 환경에서의 고려 사항 44

2.8 요약 48

 

더보기

CHAPTER 3 카프카 프로듀서: 카프카에 메시지 쓰기 49

3.1 프로듀서 개요 50

3.2 카프카 프로듀서 생성하기 52

3.3 카프카로 메시지 전달하기 54

3.4 프로듀서 설정하기 57

3.5 시리얼라이저 65

3.6 파티션 73

3.7 헤더 76

3.8 인터셉터 77

3.9 쿼터, 스로틀링 79

3.10 요약 81

 

CHAPTER 4 카프카 컨슈머: 카프카에서 데이터 읽기 83

4.1 카프카 컨슈머: 개념 83

4.2 카프카 컨슈머 생성하기 90

4.3 토픽 구독하기 91

4.4 폴링 루프 92

4.5 컨슈머 설정하기 94

4.6 커밋과 오프셋 102

4.7 리밸런스 리스너 109

4.8 특정 오프셋의 레코드 읽어오기 112

4.9 폴링 루프를 벗어나는 방법 113

4.10 디시리얼라이저 115

4.11 독립 실행 컨슈머: 컨슈머 그룹 없이 컨슈머를 사용해야 하는 이유와 방법 121

4.12 요약 123

 

CHAPTER 5 프로그램 내에서 코드로 카프카 관리하기 125

5.1 AdminClient 개요 126

5.2 AdminClient 사용법: 생성􏘙 설정􏘙 닫기 128

5.3 필수적인 토픽 관리 기능 130

5.4 설정 관리 134

5.5 컨슈머 그룹 관리 136

5.6 클러스터 메타데이터 140

5.7 고급 어드민 작업 141

5.8 테스트하기 145

5.9 요약 147

 

CHAPTER 6 카프카 내부 메커니즘 149

6.1 클러스터 멤버십 149

6.2 컨트롤러 150

6.3 복제 158

6.4 요청 처리 161

6.5 물리적 저장소 169

6.6 요약 181

 

CHAPTER 7 신뢰성 있는 데이터 전달 183

7.1 신뢰성 보장 184

7.2 복제 185

7.3 브로커 설정 186

7.4 신뢰성 있는 시스템에서 프로듀서 사용하기 192

7.5 신뢰성 있는 시스템에서 컨슈머 사용하기 195

7.6 시스템 신뢰성 검증하기 200

7.7 요약 204

 

CHAPTER 8 ‘정확히 한 번의미 구조 205

8.1 멱등적 프로듀서 206

8.2 트랜잭션 210

8.3 트랜잭션 성능 225

8.4 요약 225

 

CHAPTER 9 데이터 파이프라인 구축하기 227

9.1 데이터 파이프라인 구축 시 고려사항 228

9.2 카프카 커넥트 vs. 프로듀서/컨슈머 235

9.3 카프카 커넥트 235

9.4 카프카 커넥트의 대안 257

9.5 요약 258

 

CHAPTER 10 클러스터간 데이터 미러링하기 259

10.1 클러스터간 미러링 활용 사례 260

10.2 다중 클러스터 아키텍처 261

10.3 아파치 카프카의 미러메이커 275

10.4 기타 클러스터간 미러링 솔루션 288

10.5 요약 293

 

CHAPTER 11 보안 295

11.1 보안 설정 적용하기 296

11.2 보안 프로토콜 298

11.3 인증 301

11.4 암호화 324

11.5 인가 326

11.6 감사 333

11.7 주키퍼 보안 335

11.8 플랫폼 보안 338

11.9 요약 340

 

CHAPTER 12 카프카 운영하기 343

12.1 토픽 작업 343

12.2 컨슈머 그룹 350

12.3 동적 설정 변경 353

12.4 쓰기 작업과 읽기 작업 358

12.5 파티션 관리 364

12.6 기타 툴 374

12.7 안전하지 않은 작업 375

12.8 요약 377

 

CHAPTER 13 카프카 모니터링하기 379

13.1 지표 기초 379

13.2 서비스 수준 목표 383

13.3 카프카 브로커 지표 386

13.4 클라이언트 모니터링 410

13.5 랙 모니터링 417

13.6 종단 모니터링 418

13.7 요약 419

 

CHAPTER 14 스트림 처리 421

14.1 스트림 처리란 무엇인가? 423

14.2 스트림 처리 개념 426

14.3 스트림 처리 디자인 패턴 434

14.4 예제로 보는 카프카 스트림즈 443

14.5 카프카 스트림즈: 아키텍처 개요 452

14.6 스트림 처리 활용 사례 459

14.7 스트림 처리 프레임워크 선택하기 460

14.8 요약 462

 

APPENDEX A 다른 운영체제에 카프카 설치하기 465

A.1 윈도우 시스템에 설치하기 465

A.2 macOS에 설치하기 468

 

APPENDEX B 추가적으로 사용할 수 있는 툴 471

B.1 통합 플랫폼 471

B.2 클러스터 설치 및 관리 473

B.3 모니터링 및 데이터 탐색 474

B.4 클라이언트 라이브러리 476

B.5 스트림 처리 476

 

찾아보기 477

 

제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

네이버 포스트 / 유튜브 / 인스타그램 / 트위터 / 페이스북