책소개
이 책은 카프카를 처음 다루는 개발자를 위한 입문서다. 카프카 도입에 필요한 기초 개념부터 확장성과 고가용성 특징을 활용해 시스템을 구현하는 방법을 설명한다. 1부에서는 카프카 탄생 배경과 구조, 기본 동작 방법을 설명해 카프카를 전반적으로 이해할 수 있도록 했다. 2부에서는 카프카 적용 사례로 동작 원리를 확인할 수 있다. 카프카의 단순한 개념에 비해 활용 방법이 그려지지 않는 독자를 위해 다양한 그림과 표로 이해를 돕는다.
_주요 내용
● 카프카 탄생 배경, 구조, 기본 동작
● 메시지 송수신 구조, 시스템 구성, 분산 메시징 구조
● 컨플루언트 플랫폼을 이용한 클러스터 구축
● 자바 API를 활용한 애플리케이션 개발
● 데이터 허브 아키텍처, Kafka Streams를 이용한 스트림 처리, 스파크 연동 방법
● 사물인터넷 적용 사례
목차
1부 도입 아파치 카프카
1장 아파치 카프카 개요
1.1 이 장의 내용
1.2 아파치 카프카
1.3 카프카 탄생 배경
1.4 카프카로 링크드인 요구 사항 실현하기
1.5 카프카의 확산
1.6 정리
2장 카프카 기초
2.1 이 장의 내용
2.2 메시지 송수신 기본
2.3 시스템 구성
2.4 분산 메시징을 위한 구조
2.5 데이터의 견고성을 높이는 복제 구조
2.6 정리
3장 카프카 설치
3.1 이 장의 내용
3.2 카프카 클러스터 환경 구축하기
3.3 카프카 구축
3.4 카프카 실행과 동작 확인
3.5 정리
4장 자바 API를 사용하여 애플리케이션 만들기
4.1 이 장의 내용
4.2 애플리케이션 개발 환경 준비
4.3 프로듀서 애플리케이션 개발
4.4 프로듀서 애플리케이션의 핵심 부분
4.5 컨슈머 애플리케이션 개발
4.6 컨슈머 애플리케이션 핵심 부분
4.7 정리
Part 2 실전 아파치 카프카
5장 카프카 사례
5.1 이 장의 내용
5.2 카프카 적용 사례
5.3 데이터 허브
5.4 로그 수집
5.5 웹 활동 분석
5.6 사물인터넷
5.7 이벤트 소싱
5.8 카프카 활용 사례
5.9 정리
6장 카프카를 이용한 데이터 파이프라인 구축에 필요한 사전 지식
6.1 이 장의 내용
6.2 카프카를 이용한 데이터 파이프라인의 구성 요소
6.3 데이터 파이프라인에서 취급하는 데이터
6.4 정리
7장 카프카와 Kafka Connect로 데이터 허브 구축하기
7.1 이 장의 내용
7.2 Kafka Connect란
7.3 데이터 허브 아키텍처 응용 사례
7.4 환경 구성
7.5 전자상거래 사이트에 실제 매장의 재고 정보를 표시하기
7.6 월별 판매 예측하기
7.7 데이터 관리와 스키마 에볼루션
7.8 정리
8장 스트림 처리 기본
8.1 이 장의 내용
8.2 Kafka Streams
8.3 컴퓨터 시스템의 매트릭스
8.4 카프카 브로커의 매트릭스를 시각화하기
8.5 예제 프로그램 살펴보기
8.6 윈도 처리
8.7 Processor API
8.8 매트릭스 종류
8.9 Kafka Streams의 장점
8.10 정리
9장 Structured Streaming에 의한 스트림 처리
9.1 이 장의 내용
9.2 아파치 스파크와 Structured Streaming
9.3 예제 애플리케이션 동작 환경
9.4 아파치 스파크 설정
9.5 트윗 프로듀서
9.6 카프카와 Structured Streaming 연계
9.7 정리
10장 카프카로 구축하는 사물인터넷 데이터 허브
10.1 이 장의 내용
10.2 사물인터넷에 필요한 시스템 특성과 카프카
10.3 센서 데이터용 데이터 허브 설계
10.4 센서 데이터용 데이터 허브 구축
10.5 실제 센서 데이터의 투입과 데이터 활용
10.6 고도의 데이터 연계 기반을 실현할 경우의 문제와 해결 방안
10.7 정리
11장 카프카 능숙하게 사용하기
11.1 이 장의 내용
11.2 컨슈머 그룹.
11.3 오프셋 커밋
11.4 파티션 재배치
11.5 파티션 수 결정에 있어 참고 사항
11.6 복제본 수 결정에 참고 사항
11.7 정리
부록
A 커뮤니티 버전 카프카에서 현재 개발 중인 최신 버전 이용하기
B KSQL을 이용한 스트림 처리
C 이벤트 타임과 워터마크를 이용한 스트림 처리