장바구니 담기 close

장바구니에 상품을 담았습니다.

Kafka in Action

Kafka in Action

  • 딜런 스콧
  • |
  • 에이콘출판
  • |
  • 2023-10-30 출간
  • |
  • 348페이지
  • |
  • 188 X 235 X 19mm
  • |
  • ISBN 9791161757919
판매가

30,000원

즉시할인가

27,000

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
27,000

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

◈ 이 책에서 다루는 내용 ◈

◆ 이벤트 스트리밍 플랫폼으로서의 카프카
◆ 자바 애플리케이션에서의 카프카 프로듀서 및 컨슈머
◆ 대규모 데이터 프로젝트의 일부로서의 카프카


◈ 이 책의 대상 독자 ◈

스트림 처리를 배우고자 하는 모든 개발자를 위한 책이다. 카프카에 대한 사전 지식은 필요하지 않지만, 기본적인 명령줄/터미널 지식이 있으면 도움이 된다. 카프카에는 우리가 사용할 강력한 명령줄 도구가 있으며, 사용자는 최소한 명령줄 프롬프트에서 탐색할 수 있어야 한다.
약간의 자바 언어 기술이나 모든 언어의 프로그래밍 개념을 인식할 수 있는 능력이 있으면 이 책을 최대한 활용하는 데 도움이 될 수 있다. 주로 자바 11(및 자바 8) 코딩 스타일로 제시된 코드 예제를 이해하는 데 도움이 될 것이다. 필수는 아니지만 분산 애플리케이션 아키텍처에 대한 일반적인 지식도 있으면 도움이 된다. 예를 들어, 사용자가 복제 및 장애에 대해 더 많이 알고 있을수록 카프카가 레플리카를 사용하는 방법을 더 쉽게 배울 수 있다.


◈ 이 책의 구성 ◈

1부에서는 카프카의 멘탈 모델을 소개하고 실제 세계에서 카프카를 사용하는 이유에 대해 이야기한다.
1장, ‘카프카 소개’에서는 카프카를 소개하며, 몇 가지 오해에 대한 반박 및 실제 사용 사례를 설명한다.
2장, ‘카프카 알아보기’에서는 상위 수준의 카프카 아키텍처와 주요 용어를 살펴본다.
2부에서는 카프카의 핵심적인 부분으로 이동한다. 여기에는 클러스터 자체뿐만 아니라 클라이언트도 포함된다.
3장, ‘카프카 프로젝트 설계’에서는 카프카가 프로젝트에 적합한 경우와 새 프로젝트 설계에 접근하는 방법을 살펴본다. 또한 스키마의 필요성을 카프카 프로젝트를 시작할 때의 고려해야 할 사항으로 논의한다.
4장, ‘프로듀서: 데이터 공급’에서는 프로듀서 클라이언트를 생성하는 방법과 데이터가 카프카 클러스터에 들어가는 방식에 영향을 주기 위해 사용할 수 있는 옵션을 자세히 살펴본다.
5장, ‘컨슈머: 데이터 열기’에서는 컨슈머 클라이언트를 사용해 카프카에서 데이터를 가져오는 방법을 살펴본다. 보존된 메시지의 저장 측면을 활용할 수 있기 때문에 오프셋과 데이터 재처리라는 개념을 소개한다.
6장, ‘브로커’에서는 클러스터에서 브로커의 역할과 브로커가 클라이언트와 상호 작용하는 방식을 살펴본다. 컨트롤러와 레플리카 같은 다양한 구성 요소를 살펴본다.
7장, ‘토픽과 파티션’에서는 토픽과 파티션의 개념을 살펴본다. 여기에는 토픽이 컴팩션되는 방식과 파티션이 저장되는 방식이 포함된다.
8장, ‘카프카 스토리지’에서는 보존하거나 재처리해야 하는 데이터를 처리하기 위한 옵션인 도구와 아키텍처에 대해 설명한다. 수개월 또는 수년간 데이터를 보존해야 하는 경우 클러스터 외부의 스토리지 옵션을 평가해야 할 수도 있다.
9장, ‘관리: 도구와 로깅’에서는 클러스터를 정상적으로 유지하는 데 필요한 로그, 메트릭, 관리 업무를 검토하면서 2부를 마무리한다.
3부에서는 카프카의 핵심적인 부분을 살펴보고, 실행 중인 클러스터를 개선하기 위한 옵션으로 넘어간다.
10장, ‘카프카 보호’에서는 SSL, ACL, 할당량 같은 기능을 사용해 카프카 클러스터를 강화하는 옵션을 소개한다.
11장, ‘스키마 레지스트리’에서는 스키마 레지스트리와 스키마 레지스트리를 사용해 데이터의 이전 버전 및 향후 버전 데이터셋과의 호환성을 유지하면서 데이터를 발전시키는 방법을 자세히 살펴본다. 이 기능은 엔터프라이즈급 애플리케이션에서 가장 많이 사용되는 기능으로 알려져 있지만, 시간이 지남에 따라 진화하는 모든 데이터에 유용할 수 있다.
12장, ‘카프카 스트림즈와 ksqlDB를 활용한 스트림 처리’에서는 카프카 스트림과 ksqlDB를 소개한다. 이러한 제품들은 2부에서 학습한 핵심을 기반으로 구축된 더 높은 수준의 추상화다. 카프카 스트림즈와 ksqlDB는 방대한 주제이므로, 여기서는 이러한 카프카 옵션에 대한 자세한 내용을 스스로 학습하는 데 도움이 될 정도의 세부 정보만 제공한다.

목차

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. 클라이언트 예제

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.