책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > 데이터베이스 구축
· ISBN : 9791188621330
· 쪽수 : 356쪽
· 출판일 : 2018-10-25
책 소개
목차
CHAPTER 1 카프카 훑어보기 __1
메시지 발행과 구독하기 ...... 2
카프카 살펴보기 ...... 4
카프카를 사용하는 이유 ...... 10
데이터 생태계 ...... 12
카프카의 기원 ...... 15
카프카 시작하기 ...... 17
CHAPTER 2 카프카 설치와 구성하기 __ 19
제일 먼저 할 일 ...... 19
카프카 브로커 설치하기 ...... 23
브로커 구성 ...... 25
하드웨어 선택 ...... 31
클라우드에서 카프카 사용하기 ...... 33
카프카 클러스터 ...... 34
실제 업무 사용 시 고려사항 ...... 40
요약 ...... 43
CHAPTER 3 카프카 프로듀서: 카프카에 메시지 쓰기 __ 45
프로듀서 개요 ...... 46
카프카 프로듀서 구성하기 ...... 48
카프카에 메시지 전송하기 ...... 51
프로듀서 구성하기 ...... 54
직렬처리기 ...... 58
파티션 ...... 66
구버전의 프로듀서 API들 ...... 69
요약 ...... 69
CHAPTER 4 카프카 컨슈머: 카프카에서 데이터 읽기 __ 71
카프카 컨슈머의 중요 개념 ...... 71
카프카 컨슈머 생성하기 ...... 77
토픽 구독하기 ...... 78
폴링 루프 ...... 79
컨슈머 구성하기 ...... 81
커밋과 오프셋 ...... 85
리밸런싱 리스너 ...... 92
특정 오프셋을 사용해서 레코드 소비하기 ...... 95
어떻게 폴링 루프를 벗어나야 할까? ...... 98
역직렬처리기 ...... 100
독자 실행 컨슈머: 그룹 없이 하나의 컨슈머만 사용하는 이유와 방법 ...... 104
구버전의 컨슈머 API들 ...... 105
요약 ...... 106
CHAPTER 5 카프카 내부 메커니즘 __ 107
클러스터 멤버십 ...... 107
컨트롤러 ...... 109
복제 ...... 110
요청 처리 ...... 112
스토리지 ...... 120
요약 ...... 128
CHAPTER 6 신뢰성 있는 데이터 전달 __ 129
신뢰성 보장 ...... 130
복제 ...... 131
브로커 구성 ...... 132
신뢰성 있는 시스템에서 프로듀서 사용하기 ...... 137
신뢰성 있는 시스템에서 컨슈머 사용하기 ...... 141
시스템 신뢰성 검사하기 ...... 146
요약 ...... 149
CHAPTER 7 데이터 파이프라인 구축하기 __ 151
데이터 파이프라인 구축 시 고려사항 ...... 152
카프카 커넥트 vs. 프로듀서/컨슈머 ...... 158
카프카 커넥트 ...... 159
카프카 커넥트의 대안 ...... 175
요약 ...... 176
CHAPTER 8 크로스 클러스터 데이터 미러링 __ 179
크로스 클러스터 미러링의 이용 사례 ...... 180
다중 클러스터 아키텍처 ...... 181
아파치 카프카의 미러메이커 ...... 194
다른 크로스 클러스터 미러링 솔루션 ...... 204
요약 ...... 207
CHAPTER 9 카프카 관리하기 __ 209
토픽 작업 ...... 209
컨슈머 그룹 ...... 215
동적 구성 변경 ...... 220
파티션 관리 ...... 224
메시지 읽기와 쓰기 도구 ...... 233
클라이언트 ACL ...... 240
안전하지 않은 작업 ......
요약 ...... 243
CHAPTER 10 카프카 모니터링 __ 245
메트릭 개요 ...... 245
카프카 브로커 메트릭 ...... 248
클라이언트 모니터링 ...... 270
지연 모니터링 ...... 278
End-to-End 모니터링 ...... 279
요약 ...... 280
CHAPTER 11 스트림 프로세싱 __ 281
스트림 프로세싱이란? ...... 282
스트림 프로세싱 개념 ...... 285
스트림 프로세싱 디자인 패턴 ...... 291
카프카 스트림즈 사용 예 ...... 300
카프카 스트림즈: 아키텍처 오버뷰 ...... 309
스트림 프로세싱 이용 사례 ...... 313
스트림 프로세싱 프레임워크 선택하기 ...... 315
요약 ...... 316
APPENDIX 다른 운영체제에 카프카 설치하기 __ 317
윈도우 시스템에 설치하기 ...... 317
맥OS에 설치하기 ...... 322
저자소개
책속에서
데이터를 처리하기 위해 구축한 환경에는 많은 애플리케이션이 있다. 그리고 데이터를 생성하는 애플리케이션에 맞춰 입력 형식이 정의되며, 메트릭, 리포트 등으로 출력 형태가 정의된다. 또한, 특정 컴포넌트를 사용해서 시스템의 데이터를 읽은 후 다른 소스에서 받은 데이터를 사용해서 변환시킨다. 그다음에 어디서든 사용될 수 있도록 최종 데이터를 데이터 기반 구조에 전달한다. 이런 작업은 고유한 콘텐츠와 크기, 용도를 갖는 다양한 유형의 데이터로 처리된다. 이것이 메시지 데이터의 처리 흐름이다.
브로커가 커밋 요청에 응답할 때까지 애플리케이션이 일시 중지된다는 것이 수동 커밋의 한 가지 단점이다. 이로 인해 애플리케이션의 처리량을 제한하게 된다. 물론 커밋을 자주 하지 않으면 처리량이 증가될 수 있다. 그러나 리밸런싱으로 인해 생기는 중복 처리 레코드의 수가 증가한다.
이처럼 역할을 분리하는 것이 커넥트 API 사용 시의 장점이며, 이것이 종래의 컨슈머/프로듀서 API와는 다른 점이다. 카프카로부터 데이터를 읽어서 데이터베이스에 추가하는 코드를 작성하려면 대략 하루나 이틀 정도 걸리지만, 구성, 에러, REST API, 모니터링, 배포, 규모 확장/축소, 장애 등을 모두 처리하려면 수개월은 족히 소요된다는 것을 경험 있는 개발자라면 알 수 있을 것이다. 그러나 커넥터를 사용해서 데이터 복사를 구현할 때는 그런 복잡한 작업을 해주는 작업 프로세스에 우리 커넥터를 연결하면 된다.