Kafka in Action

도서명:Kafka in Action
저자/출판사:딜런 스콧 , 빅토르 가모프 , 데이브 클라인/에이콘출판
쪽수:348쪽
출판일:2023-10-30
ISBN:9791161757919
목차
1부. 시작하기
01장. 카프카 소개
1.1 카프카의 특징
1.2 카프카 사용
1.2.1 개발자를 위한 카프카
1.2.2 매니저에게 카프카 설명하기
1.3 카프카에 관한 오해
1.3.1 카프카는 하둡과만 함께 작동한다
1.3.2 카프카는 다른 메시지 브로커와 동일하다
1.4 현실 세계에서의 카프카
1.4.1 초기의 사용 사례
1.4.2 이후의 사용 사례
1.4.3 카프카가 적합하지 않을 수 있는 경우
1.5 시작하기 위한 온라인 리소스
요약
참고문헌
02장. 카프카 알아보기
2.1 메시지 생산과 소비
2.2 브로커란 무엇인가?
2.3 카프카 투어
2.3.1 프로듀서와 컨슈머
2.3.2 토픽 개요
2.3.3 주키퍼의 용도
2.3.4 카프카의 고가용성 아키텍처
2.3.5 커밋 로그
2.4 다양한 소스 코드 패키지와 역할
2.4.1 카프카 스트림즈
2.4.2 카프카 커넥트
2.4.3 AdminClient 패키지
2.4.4 ksqlDB
2.5 컨플루언트 클라이언트
2.6 스트림 처리와 용어
2.6.1 스트림 처리
2.6.2 정확히 한 번의 의미
요약
참고문헌
2부. 카프카 적용
03장. 카프카 프로젝트 설계
3.1 카프카 프로젝트 설계
3.1.1 기존 데이터 아키텍처 인수
3.1.2 첫 변경
3.1.3 내장 기능
3.1.4 주문 송장을 위한 데이터
3.2 센서 이벤트 설계
3.2.1 기존 문제
3.2.2 카프카가 적합한 이유
3.2.3 우리 설계에 대한 생각의 시작점
3.2.4 사용자 데이터 요구사항
3.2.5 질문을 적용하기 위한 상위 수준 계획
3.2.6 청사진 검토
3.3 데이터 형식
3.3.1 데이터를 위한 계획
3.3.2 의존성 설정
요약
참고문헌
04장. 프로듀서: 데이터 공급
4.1 예제
4.1.1 프로듀서 노트
4.2 프로듀서 옵션
4.2.1 브로커 목록 구성
4.2.2 빨리 가는 방법(또는 더 안전하게 가는 방법)
4.2.3 타임스탬프
4.3 요구사항에 대한 코드 생성
4.3.1 클라이언트와 브로커 버전
요약
참고문헌
05장. 컨슈머: 데이터 열기
5.1 예제
5.1.1 컨슈머 옵션
5.1.2 코디네이트 이해
5.2 컨슈머가 상호 작용하는 방식
5.3 추적
5.3.1 그룹 코디네이터
5.3.2 파티션 할당 전략
5.4 작업 위치 표시
5.5 컴팩션된 토픽에서 읽기
5.6 우리 공장의 요구사항에 대한 코드 검색
5.6.1 읽기 옵션
5.6.2 요구사항
요약
참고문헌
06장. 브로커
6.1 브로커 소개
6.2 주키퍼의 역할
6.3 브로커 수준의 옵션
6.3.1 카프카의 다른 로그: 애플리케이션 로그
6.3.2 서버 로그
6.3.3 상태 관리
6.4 파티션 리더 레플리카와 그 역할
6.4.1 데이터 손실
6.5 카프카 엿보기
6.5.1 클러스터 유지 관리
6.5.2 브로커 추가
6.5.3 클러스터 업그레이드
6.5.4 클라이언트 업그레이드
6.5.5 백업
6.6 상태 저장 시스템에 대한 참고사항
6.7 실습
요약
참고문헌
07장. 토픽과 파티션
7.1 토픽
7.1.1 토픽 생성 옵션
7.1.2 복제 팩터
7.2 파티션
7.2.1 파티션 위치
7.2.2 로그 보기
7.3 EmbeddedKafkaCluster를 사용한 테스트
7.3.1 카프카 Testcontainers 사용
7.4 토픽 컴팩션
요약
참고문헌
08장. 카프카 스토리지
8.1 데이터 저장기간
8.2 데이터 이동
8.2.1 원본 이벤트 유지
8.2.2 배치 사고방식에서 벗어나기
8.3 도구
8.3.1 아파치 플룸
8.3.2 레드햇 데베지움
8.3.3 보안
8.3.4 데이터 저장을 위한 사용 사례의 예
8.4 카프카로 데이터를 다시 가져오기
8.4.1 계층화된 스토리지
8.5 카프카를 사용한 아키텍처
8.5.1 람다 아키텍처
8.5.2 카파 아키텍처
8.6 다중 클러스터 설정
8.6.1 클러스터 추가를 통한 확장
8.7 클라우드 및 컨테이너 기반 스토리지 옵션
8.7.1 쿠버네티스 클러스터
요약
참고문헌
09장. 관리: 도구와 로깅
9.1 관리 클라이언트
9.1.1 AdminClient를 사용한 코드 관리
9.1.2 kcat
9.1.3 컨플루언트 REST 프록시 API
9.2 카프카를 systemd 서비스로 실행하기
9.3 로깅
9.3.1 카프카 애플리케이션 로그
9.3.2 주키퍼 로그
9.4 방화벽
9.4.1 애드버타이즈드 리스너
9.5 메트릭
9.5.1 JMX 콘솔
9.6 추적 옵션
9.6.1 프로듀서 로직
9.6.2 컨슈머 로직
9.6.3 클라이언트 재정의
9.7 일반 모니터링 도구
요약
참고문헌
3부. 더 나아가기
10장. 카프카 보호
10.1 보****기본 사항
10.1.1 SSL을 사용한 암호화
10.1.2 브로커와 클라이언트 간의 SSL
10.1.3 브로커 간 SSL
10.2 커버로스 및 SASL
10.3 카프카에서의 권한 부여
10.3.1 접근 제어 목록(ACL)
10.3.2 역할 기반 접근 제어(RBAC)
10.4 주키퍼
10.4.1 커버로스 설정
10.5 할당량
10.5.1 네트워크 대역폭 할당량
10.5.2 요청 속도 할당량
10.6 저장된 데이터
10.6.1 관리형 옵션
요약
참고문헌
11장. 스키마 레지스트리
11.1 제안된 카프카 성숙도 모델
11.1.1 레벨 0
11.1.2 레벨 1
11.1.3 레벨 2
11.1.4 레벨 3
11.2 스키마 레지스트리
11.2.1 컨플루언트 스키마 레지스트리 설치
11.2.2 레지스트리 구성
11.3 스키마 기능
11.3.1 REST API
11.3.2 클라이언트 라이브러리
11.4 호환성 규칙
11.4.1 스키마 수정 유효성 검사
11.5 스키마 레지스트리의 대안
요약
참고문헌
12장. 카프카 스트림즈와 ksqlDB를 활용한 스트림 처리
12.1 카프카 스트림즈
12.1.1 KStreams API DSL
12.1.2 KTable API
12.1.3 GlobalKTable API
12.1.4 프로세서 API
12.1.5 카프카 스트림즈 설정
12.2 ksqlDB: 이벤트 스트리밍 데이터베이스
12.2.1 쿼리
12.2.2 로컬 개발
12.2.3 ksqlDB 아키텍처
12.3 더 나아가기
12.3.1 카프카 개선 제안(KIP)
12.3.2 탐색할 수 있는 카프카 프로젝트
12.3.3 커뮤니티 슬랙 채널
요약
참고문헌
부록 A. 설치
부록 B. 클라이언트 예제