책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 웹 서비스/웹 프로그래밍
· ISBN : 9791192469768
· 쪽수 : 520쪽
· 출판일 : 2023-04-14
책 소개
목차
옮긴이 머리말 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
저자소개
책속에서

카프카는 스트림 처리(14장에서 다룹니다)에 등장하는 ‘이벤트 스트림’의 개념을 닮았습니다. 스트림 처리 애플리케이션이 ‘이벤트 스트림’의 ‘현재 상태’를 조망하기 위해 ‘상태 저장소’를 필요로 하듯이, 카프카와 같은 시스템을 이해하기 위해서는 우선 ‘현재 상태’를 명료하게 정리해줄 수 있는 무엇인가가 필수적입니다. 이 책은 오랫동안 카프카를 개발해온 분들이 직접 쓴 카프카에 대한 안내서입니다. 지금까지 카프카를 발전시켜온 ‘이벤트 스트림’을 만들어온 사람들이 만든 ‘상태 저장소’라고 할 수 있겠네요. 꽤 긴 시간 동안 카프카 프로젝트에 기여해온 저 역시 이 책이 한국 독자들을 위한 좋은 ‘상태 저장소’ 역할을 할 수 있었으면 좋겠다는 생각을 하면서 이 책을 번역했습니다.
아파치 카프카는 위에서 설명한 것과 같은 문제를 해결하기 위해 고안된 메시지 발행/구독 시스템이다. ‘분산 커밋 로그’ 혹은 ‘분산 스트리밍 플랫폼’이라고 불리기도 한다. 파일시스템이나 데이터베이스 커밋 로그(commit log)는 모든 트랜잭션 기록을 지속성 있게 보존함으로써 시스템의 상태를 일관성 있게 복구할 수 있도록 고안되었다. 이와 유사하게, 카프카에 저장된 데이터는 순서를 유지한 채로 지속성 있게 보관되며 결정적(deterministic)으로 읽을 수 있다. 또한, 확장시 성능을 향상시키고 실패가 발생하더라도 데이터 사용에는 문제가 없도록 시스템 안에서 데이터를 분산시켜 저장할 수 있다.




















