확장메뉴
주요메뉴


소득공제 베스트셀러
미리보기 공유하기

아파치 카프카 애플리케이션 프로그래밍 with 자바

: 카프카의 개념부터 스트림즈·커넥트·스프링 카프카까지 데이터 파이프라인 구축 따라하기

리뷰 총점9.8 리뷰 14건 | 판매지수 9,024
베스트
OS/데이터베이스 85위 | IT 모바일 top100 21주
정가
32,000
판매가
28,800 (10% 할인)
YES포인트
소중한 당신에게 5월의 선물 - 산리오 3단 우산/디즈니 우산 파우치/간식 접시 머그/하트 이중 머그컵
월간 개발자 2022년 5월호
내일은 개발자! 코딩테스트 대비 도서전
YES24 트윈링 분철 : 인서트라벨/스티커 택1 증정
5월 전사
5월 쇼핑혜택
1 2 3 4 5

품목정보

품목정보
출간일 2021년 04월 14일
쪽수, 무게, 크기 480쪽 | 950g | 173*230*30mm
ISBN13 9791165920548
ISBN10 1165920549

이 상품의 태그

책소개 책소개 보이기/감추기

상품 이미지를 확대해서 볼 수 있습니다. 원본 이미지
아파치 카프카 애플리케이션 개발을 위한 「실전 가이드」

아파치 카프카란 무엇일까? 카프카 애플리케이션은 어떻게 만들까? 데이터 파이프라인을 만들기 위해 어떤 카프카 라이브러리를 사용해야 할까? 클라우드 기반 아파치 카프카는 어떤 기능을 가지고 있을까? 『아파치 카프카 애플리케이션 프로그래밍 with 자바』은 아파치 카프카의 기본적인 개념과 상용 프로젝트에 카프카를 사용하는 방안, 그리고 코드를 기반으로 연동 애플리케이션을 개발하는 과정을 소개한다. 또한, 「실전 프로젝트」에서 실무에 많이 사용되는 아키텍처와 유사한 구조로 실습을 진행하며 상용 환경에서 어떻게 데이터 파이프라인을 구축하는지 설명한다. 『아파치 카프카 애플리케이션 프로그래밍 with 자바』을 통해 카프카와 연관된 플랫폼들과의 관계를 전체적으로 이해하는 것을 넘어 카프카를 업무에 성공적으로 도입하고 안정적으로 운영할 수 있을 것이다.

목차 목차 보이기/감추기

[1장] 들어가며

1.1 카프카의 탄생
1.2 빅데이터 파이프라인에서 카프카의 역할
1.3 데이터 레이크 아키텍처와 카프카의 미래
1.4 정리

[2장] 카프카 빠르게 시작해보기

2.1 실습용 카프카 브로커 설치
2.1.1 AWS EC2 인스턴스 발급 및 보안 설정
2.1.2 인스턴스에 접속하기
______ssh 명령어로 접속하기
______putty로 접속하기
2.1.3 인스턴스에 자바 설치
2.1.4 주키퍼·카프카 브로커 실행
______카프카 브로커 힙 메모리 설정
______카프카 브로커 실행 옵션 설정
______주키퍼 실행
______카프카 브로커 실행 및 로그 확인
2.1.5 로컬 컴퓨터에서 카프카와 통신 확인
______테스트 편의를 위한 hosts 설정

2.2 카프카 커맨드 라인 툴
2.2.1 kafka-topics.sh
______토픽 생성
______토픽 리스트 조회
______토픽 상세 조회
______토픽 옵션 수정
2.2.2 kafka-console-producer.sh
2.2.3 kafka-console-consumer.sh
2.2.4 kafka-consumer-groups.sh
2.2.5 kafka-verifiable-producer, consumer.sh
2.2.6 kafka-delete-records.sh

2.3 정리

[3장] 카프카 기본 개념 설명

3.1 카프카 브로커 · 클러스터 · 주키퍼
______데이터 저장, 전송
______데이터 복제, 싱크
______컨트롤러(controller)
______데이터 삭제
______컨슈머 오프셋 저장
______코디네이터(coordinator)

3.2 토픽과 파티션
______토픽 이름 제약 조건
______의미 있는 토픽 이름 작명 방법

3.3_레코드

3.4 카프카 클라이언트
3.4.1 프로듀서 API
______카프카 프로듀서 프로젝트 생성
______프로듀서 중요 개념
______프로듀서 주요 옵션
______메시지 키를 가진 데이터를 전송하는 프로듀서
______커스텀 파티셔너를 가지는 프로듀서
______브로커 정상 전송 여부를 확인하는 프로듀서
3.4.2 컨슈머 API
______카프카 컨슈머 프로젝트 생성
______컨슈머 중요 개념
______컨슈머 주요 옵션
______동기 오프셋 커밋
______비동기 오프셋 커밋
______리밸런스 리스너를 가진 컨슈머
______파티션 할당 컨슈머
______컨슈머에 할당된 파티션 확인 방법
______컨슈머의 안전한 종료
3.4.3 어드민 API
______브로커 정보 조회
______토픽 정보 조회

3.5 카프카 스트림즈
3.5.1 스트림즈DSL
______KStream
______KTable
______GlobalKTable
______스트림즈DSL 주요 옵션
______스트림즈DSL - stream( ), to( )
______스트림즈DSL - filter( )
______스트림즈DSL - KTable과 KStream을 join( )
______스트림즈DSL - GlobalKTable과 KStream을 join( )
3.5.2 프로세서 API

3.6 카프카 커넥트
______커넥트를 실행하는 방법
______단일 모드 커넥트
______분산 모드 커넥트
3.6.1 소스 커넥터
______파일 소스 커넥터 구현
3.6.2 싱크 커넥터
______파일 싱크 커넥터 구현

3.7 카프카 미러메이커2
3.7.1 미러메이커2를 활용한 지리적 복제(Geo-Replication)

3.8 정리

[4장] 카프카 상세 개념 설명

4.1 토픽과 파티션
4.1.1 적정 파티션 개수
4.1.2 토픽 정리 정책(cleanup.policy)
______토픽 삭제 정책(delete policy)
______토픽 압축 정책(compact policy)
4.1.3 ISR(In-Sync-Replicas)
______unclean.leader.election.enable

4.2 카프카 프로듀서
4.2.1 acks 옵션
______min.insync.replicas
4.2.2 멱등성 프로듀서(idempotence producer)
4.2.3 트랜잭션 프로듀서(transaction producer)

4.3 카프카 컨슈머
4.3.1 멀티 스레드 컨슈머
______카프카 컨슈머 멀티 워커 스레드 전략
______카프카 컨슈머 멀티 스레드 전략
4.3.2 컨슈머 랙
______카프카 명령어를 사용하여 컨슈머 랙 조회
______컨슈머 metrics( ) 메서드를 사용하여 컨슈머 랙 조회
______외부 모니터링 툴을 사용하여 컨슈머 랙 조회
4.3.2.1 카프카 버로우
______컨슈머 랙 모니터링 아키텍처
4.3.3 컨슈머 배포 프로세스
______중단 배포
______무중단 배포

4.4 스프링 카프카
4.4.1 스프링 카프카 프로듀서
______기본 카프카 템플릿
______커스텀 카프카 템플릿
4.4.2 스프링 카프카 컨슈머
______기본 리스너 컨테이너
______커스텀 리스너 컨테이너

4.5 정리

[5장] 카프카 실전 프로젝트

5.1 웹 페이지 이벤트 적재 파이프라인 생성
5.1.1 요구 사항
5.1.2 정책 및 기능 정의
5.1.3 기능 구현
5.1.4 기능 테스트
5.1.5 상용 인프라 아키텍처

5.2 서버 지표 수집 파이프라인 생성과 카프카 스트림즈 활용
5.2.1 요구 사항
5.2.2 정책 및 기능 정의
5.2.3 기능 구현
5.2.4 기능 테스트
5.2.5 상용 인프라 아키텍처

5.3 미러메이커2를 사용한 토픽 미러링
5.3.1 요구 사항
5.3.2 기능 정의
5.3.3 기능 구현
5.3.4 기능 테스트
5.3.5 상용 인프라 아키텍처

5.4 정리

[6장] 클라우드 카프카 서비스

6.1 컨플루언트 클라우드
6.1.1 컨플루언트 클라우드 활용
6.1.1.1 클러스터 생성
6.1.1.2 토픽 생성
6.1.1.3 API키 발급
6.1.1.4 프로듀서 애플리케이션 연동
6.1.1.5 컨슈머 애플리케이션 연동
6.1.1.6 커넥터 S3 적재 파이프라인
6.1.2 컨플루언트 카프카 정리

6.2 AWS MSK
6.2.1 MSK 활용
6.2.1.1 클러스터 생성
6.2.1.2 MSK 클러스터 연동 인스턴스 생성
6.2.1.3 토픽 생성
6.2.1.4 프로메테우스 설치 및 연동
6.2.1.5 그라파나 설치 및 연동
6.2.1.6 콘솔 프로듀서, 컨슈머 연동
6.2.2 AWS MSK 정리

6.3 정리

[7장] 부록

7.1 카프카 소스코드 다운로드 및 분석
7.2 로컬 테스트용 카프카 도커 이미지 실행

저자 소개 (1명)

출판사 리뷰 출판사 리뷰 보이기/감추기

전 세계 IT 기업이 선택한 빅데이터 플랫폼, 아파치 카프카
이 책과 함께 카프카 개발자로 성공하라!


'아파치 카프카(Apache Kafka)'는 실시간 스트리밍 데이터를 처리하는 데 있어 가장 주목받는 프레임워크이자 뛰어난 오픈소스 도구이다. 포춘 100대 기업 중 이미 80개 이상의 회사에서 도입한 것만 보아도 알 수 있듯 카프카는 백엔드 아키텍처에서 필수 불가결한 플랫폼이다. Netflix, LinkedIn, Twitter와 같은 전 세계 IT 서비스 기업부터 카카오, 네이버, 삼성 등의 국내 대기업까지, 실시간 스트리밍으로 생성되는 사용자의 데이터를 핸들링해야 하는 기업에서 카프카를 적극적으로 활용하고 있다. 이에 따라 최근 카프카 개발자에 대한 수요 또한 증가하는 추세이다.

이 책은 아파치 카프카로 새로운 개발 트렌드를 준비하는 분들을 위해 집대성한 아파치 카프카 최종 솔루션이다. 국내 서적 중 최초로 카프카의 핵심 기능인 '미러메이커2(MirrorMaker2)'에 대한 설명과 '스프링 카프카', '클라우드 카프카'에 대한 내용을 다루기 때문에 아파치 카프카 도입을 앞둔 개발자뿐만 아니라, 이미 활용하고 있는 개발자에게도 추가적인 역량 향상의 기회를 제공한다. 또한, 실무 아키텍처와 유사한 구조의 실전 프로젝트와 38개의 예제 소스코드를 통해 실제 업무에서 사용하는 기법과 코드를 익힐 수 있다.

거스를 수 없는 빅데이터 시대의 흐름을 따르고 싶다면, 그 시대 안에서 대용량 데이터를 더욱 안전하고 효율적으로 다루고 싶다면 이 책이 그 길을 제시할 것이다. 이 책과 함께 개발자로서의 커리어를 한층 더 업그레이드하길 바란다.

[이 책의 주요 내용]

- 미러메이커2
- 카프카 커넥트
- 카프카 명령어
- 카프카 스트림즈
- 카프카 클라이언트(컨슈머, 프로듀서, 어드민)
- 클라우드 카프카(Confluent Cloud, AWS MSK)
- 스프링 카프카

[이 책의 구성]

이 책은 아파치 카프카 기반의 대규모 데이터 파이프라인을 유연하고 안전하게 운영하기 위한 방안에 초점을 맞추었다.

[1장]은 카프카의 탄생 배경과 특징을 다루고, 카프카가 미래의 빅데이터 아키텍처에서 어떤 모습으로 변화할지 설명한다.
[2장]에서는 테스트용 카프카를 AWS에 설치하고 로컬의 카프카 커맨드 라인 툴로 동작을 익히며 카프카 동작에 대한 개념을 익힌다.
[3장]은 카프카를 운영하는 데 필요한 기본 개념을 습득한다. 그리고 테스트용 카프카와 연동하는 컨슈머, 프로듀서, 스트림즈, 프로세서, 커넥트, 미러메이커2를 개념과 함께 실습한다.
[4장]을 통해 한층 심화된 내용을 체득하여 카프카의 활용도를 한층 더 높일 수 있다. 4.4장에서는 스프링 카프카 라이브러리에 대한 설명과 소스코드를 포함하는데, 스프링 프레임워크 사용률이 높은 한국 독자를 위해 특별히 해당 내용을 실었다.
[5장]에서는 학습한 내용을 토대로 3가지 「실전 프로젝트」를 진행한다. 현업에서 프로젝트를 진행하는 것처럼 구성하여 실제로 데이터 파이프라인을 구축하는 많은 도움이 될 것이다.
[6장]은 클라우드에서 SaaS 형태로 사용할 수 있는 카프카 서비스의 대표적인 2가지, 컨플루언트 클라우드와 AWS MSK에 대해 설명하고 실습한다.

[예제 소스코드 다운로드]

https://github.com/bjpublic/apache-kafka-with-java

추천평 추천평 보이기/감추기

아파치 카프카는 개발이 활발하게 이루어지고 있는 시스템이라 한국어로 된 자료는 빈약하기 짝이 없고 중요도에 비해 이를 다룰 수 있는 사람이 부족하다. 그렇기 때문에 카프카는 반드시 도입되어야 하는 아키텍처임에도 불구하고 선뜻 사용하지 못하는 조직 역시 드물지 않다. 이러한 상황 속에서 카프카 한국어 서적 출간은 반가운 소식이 아닐 수 없다. 특히 카프카의 must-have 기능 중 하나인 미러메이커2를 정면으로 다룬 한국어 자료는 본 도서가 처음이다.

이 책은 카프카의 활용 영역 중에서도 Data Warehousing(Integration)과 Big Data Processing에 초점을 맞춘다. 이는 카프카의 탄생 이유이자 본질임에도 불구하고 잘 알려지지 않은 영역이다. 이 때문에 이미 다른 자료를 많이 접한 분들도 이 책을 통해 새로운 시각으로 카프카를 바라보게 될 것이다.
- 이동진 (Apache Software Foundation, 아파치 카프카 컨트리뷰터)

이 책은 카프카를 처음 입문할 때 하는 고민을 모두 해소해 준다. 특히 「실전 프로젝트」에 작성된 웹 페이지 이벤트 적재 파이프라인 만들기, 서버 지표 수집 파이프라인 만들기, 미러메이커2를 사용한 토픽 미러링 내용과 책의 중간에 작성된 팁도 매우 유익하다. 이론과 실습이 자연스럽게 이어져 읽기 쉽고, 자바보다 파이썬이 익숙한 분들도 큰 어려움이 없이 카프카의 핵심 내용을 익힐 수 있을 것이다.
- 변성윤 (쏘카, 머신러닝 엔지니어)

저자는 대용량 환경에서 아파치 카프카 애플리케이션을 개발하고 운영하며 얻은 지식을 개발자와 인프라 운영자 관점에서 포괄적으로 집약하였다. ‘개발자’ 관점에서 자바 언어 기반의 프로듀서?컨슈머 애플리케이션 구성 및 커넥터 개발에 대한 예시를 다루고, ‘인프라 운영자’ 관점에서 Public Cloud 기반의 구축 방법을 포함한 컨슈머 랙 모니터링, failover 전략까지 완벽하게 정리하였다.
- 심호진 (무신사, 인프라 파트장)

카프카를 기반으로 하는 서비스를 개발 및 운영하는 주니어 엔지니어와 시니어 엔지니어 모두에게 이 책을 추천한다. 이 책에는 저자가 SK플래닛에서 대용량 데이터 파이프라인과 데이터 플랫폼을 다년간 다루며 축적한 지식이 모두 담겨있다. 분산처리, 부하분산, 파티셔닝, 리밸런싱, 복제, 직렬화, 정족수와 리더 선출, 일관성 등의 고급 개념뿐만 아니라 저자가 몸소 체득한 운영 노하우 및 조언까지 제시한다.
- 전득진 (11번가 Search Center Data Platform팀, 팀장)

회원리뷰 (14건) 리뷰 총점9.8

혜택 및 유의사항?
구매 아파치 카프카 애플리케이션 프로그래밍 with 자바 리뷰 내용 평점3점   편집/디자인 평점3점 YES마니아 : 로얄 z***a | 2022.02.09 | 추천0 | 댓글0 리뷰제목
자바 코드를 이용하여 아파치 카프카를 설명하고 실습해보는 책이다. 카프카에 대한 메시지 프로듀싱, 컨슈밍의 동작 방식을 글로 설명하면서 이를 코드로 실습하는 형식이다. 하지만 개인적으로는 글을 중심으로 설명하는 것도 중요하고 필요한 부분이지만 여기에 장표나 그림등을 좀 더 삽입하여 각각의 방식들이 한눈에 머리로 들어오는데 도움이 될 수 있도록 하였더라면 어땠을까;
리뷰제목

자바 코드를 이용하여 아파치 카프카를 설명하고 실습해보는 책이다.

카프카에 대한 메시지 프로듀싱, 컨슈밍의 동작 방식을 글로 설명하면서
이를 코드로 실습하는 형식이다.

하지만 개인적으로는 글을 중심으로 설명하는 것도 중요하고 필요한 부분이지만
여기에 장표나 그림등을 좀 더 삽입하여 각각의 방식들이 한눈에 머리로 들어오는데 도움이 될 수 있도록
하였더라면 어땠을까 하는 생각이 든다.

물론 카프카 자체가 방대하고 내용도 어려운 부분도 있기에 제한된 지면으로는 그러한 부분을 충족하기는
어려웠을 것이라 추측은 된다.

따라서 카프카에 대한 개념을 제대로 이해하는 면보다는 자바로 여러가지 것들을 실습해보면서 감을 잡고  배워나가는 용도의 서적으로는 알맞은 책인것 같다.

댓글 0 이 리뷰가 도움이 되었나요? 공감 0
개발책 내용 평점5점   편집/디자인 평점5점 k******5 | 2021.07.05 | 추천0 | 댓글0 리뷰제목
카프카를 사용하는 회사는 많을것인데, 솔직히 많은 개발자들이 사용하면서도 모르고 넘어가는 부분이 많을 것 같다. 나 역시도 카프카 토픽 생성하고, 데이터를 프로듀싱하고 컨슘하는 방법만 알았고, 어떤식으로 운영을 해야 더 효과적으로 좋은 퍼포먼스를 낼지 몰랐다. 예를 들어 적정수의 파티션의 개수 와 컨슈머의 스레드풀을 어떻게 할지에 대해 많이 생각해보게 하는 책이다. 회;
리뷰제목

카프카를 사용하는 회사는 많을것인데, 솔직히 많은 개발자들이 사용하면서도 모르고 넘어가는 부분이 많을 것 같다. 나 역시도 카프카 토픽 생성하고, 데이터를 프로듀싱하고 컨슘하는 방법만 알았고, 어떤식으로 운영을 해야 더 효과적으로 좋은 퍼포먼스를 낼지 몰랐다. 예를 들어 적정수의 파티션의 개수 와 컨슈머의 스레드풀을 어떻게 할지에 대해 많이 생각해보게 하는 책이다. 회사에서 카프카를 사용하면서 리밸런싱에 대한 이슈가 조금 있었는데, 이 책을 통해 많이 고민을 하고 있게 되었다.

 

또 다른 장점으로는 카프카를 처음 접하과 이미 사용하는 사람 모두 읽기 좋은 책이라는 것이다.

카프카 기본 개념부터 왜 사용하는지, 또 카프카에 나오는 기본적인 용어들에 대해 어떤 인터넷 레퍼런스보다 자세하고 이해하기 좋게 쓰여졌다. 무엇보다 좋은것은 카프카 구성을 어떻게 해야할지 어떤 경우에 어떤 옵션값을 쓸지에 대한 사례들이 있어서, 팀에서 카프카를 사용하는 사람은 필수독서라고 생각한다.

 

카프카를 모니터링 하는 툴 같은 것들도 알려주어 회사에 적용하기 좋은 팁들을 얻었다.

 

자바(스프링) 개발자가 카프카를 사용한다면 해당 책은 필수 일것 같다. 솔직히 어떤 레퍼런스를 봐도 이 책처럼 예시를 들어 자세하게 설명한 책은 없어보인다. 솔직히 이 책만 여러번 봐도 어떤 다른 레퍼런스 볼 필요가 없어보였다.

1. 좋은 글귀, 마음에 드는 가사 인상 깊은 영화 대사 등을 메모해 주세요.
2. 출처를 넣어주세요. ex) 234page, 4번 트랙<사랑해>, <브리짓존스의 다이어리>에서 브리짓의 대사
1. 좋은 글귀, 마음에 드는 가사 인상 깊은 영화 대사 등을 메모해 주세요.
2. 출처를 넣어주세요. ex) 234page, 4번 트랙<사랑해>, <브리짓존스의 다이어리>에서 브리짓의 대사
댓글 0 이 리뷰가 도움이 되었나요? 공감 0
카프카 생태계를 알아보자 내용 평점5점   편집/디자인 평점5점 n**l | 2021.06.30 | 추천0 | 댓글0 리뷰제목
카프카를 처음 접하는 사람부터 카프카를 이미 사용하고 있지만 더 제대로 알고 싶은 사람에 이르기까지 모두 도움이 될 만한 책이다. 예제 코드들이 챕터 내에서도 독립적으로 잘 나뉘어져 있어서 따로 따로 테스트 해볼 수 있는 구조로 되어 있다. 예제 코드들이 많아서 반복적으로 보면서 익히고 익숙해 질 수 있는 것 같다. 코드가 많은데 IDE에 익숙해져서 그런지 책이 컬러풀하;
리뷰제목

카프카를 처음 접하는 사람부터 카프카를 이미 사용하고 있지만 더 제대로 알고 싶은 사람에 이르기까지 모두 도움이 될 만한 책이다.


예제 코드들이 챕터 내에서도 독립적으로 잘 나뉘어져 있어서 따로 따로 테스트 해볼 수 있는 구조로 되어 있다.
예제 코드들이 많아서 반복적으로 보면서 익히고 익숙해 질 수 있는 것 같다.


코드가 많은데 IDE에 익숙해져서 그런지 책이 컬러풀하지 못해서 코드를 읽기가 편한 편은 아니다. 아무래도 단가 문제도 있을테니 이건 어쩔 수 없는 부분인 것 같기도 하다.


카프카 기본뿐만 아니라 카프카 스트림즈, 스프링 카프카, 카프카 커넥트, 미러메이커2 등 카프카 생태계를 전반적으로 다룬다. 그래서 지금은 사용하지 않더라도 한 번씩 훑어 보면 나중에 필요한 상황이 생겼을 때 찾아서 활용할 수 있을 것 같다.


이 책 한 권으로 데이터 파이프라인을 구축할 수 있게 confluent의 클라우드 카프카와 여러 기술들을 활용한다. 이렇게 실전 프로젝트까지 하는 것은 저자의 내공이 느껴지는 부분이다. 사내 클라우드를 사용하는 환경이었을텐데 외부 클라우드까지 마스터한 느낌이다.
 

댓글 0 이 리뷰가 도움이 되었나요? 공감 0

한줄평 (2건) 한줄평 총점 10.0

혜택 및 유의사항 ?
구매 평점5점
좋아요 추천합니다~!
이 한줄평이 도움이 되었나요? 공감 0
YES마니아 : 플래티넘 l******4 | 2021.08.10
구매 평점5점
유능하신 프로그래머님의 완벽한 책 기대됩니다.! 이걸로 매트릭스 세상을 만들어보렵니다.
2명이 이 한줄평을 추천합니다. 공감 2
l******** | 2021.04.15
  •  쿠폰은 결제 시 적용해 주세요.
1   28,800
뒤로 앞으로 맨위로 aniAlarm