아파치 카프카 애플리케이션 프로그래밍 with 자바 (카프카의 개념부터 스트림즈, 커넥트, 스프링 카프카까지 | 데이터 파이프라인 구축 따라하기)

아파치 카프카 애플리케이션 프로그래밍 with 자바 (카프카의 개념부터 스트림즈, 커넥트, 스프링 카프카까지 | 데이터 파이프라인 구축 따라하기)

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

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

북 트레일러

  • 출판사의 사정에 따라 서비스가 변경 또는 중지될 수 있습니다.
  • Window7의 경우 사운드 연결이 없을 시, 동영상 재생에 오류가 발생할 수 있습니다. 이어폰, 스피커 등이 연결되어 있는지 확인 하시고 재생하시기 바랍니다.
저자

최원영

궁금증과도전그리고공유를모토로삼고있다.SK플래닛을첫회사로입사하고이후,11번가커머스백엔드,프론트엔드,플랫폼그리고배포와같이다양한업무를수행하면서다방면으로개발역량을쌓아왔다.단순히요구사항을구현하는데에집중하는것이아닌고객이만족하는서비스를개발하기위해노력하고있다.DataInfrastructure팀에서100개이상의데이터파이프라인을개발하고운영하는데이터엔지니어로서카프카관련역량을쌓았다.항상새로운것에호기심이많으며적극적으로탐구하는개발자로지내고있으며,습득한지식을지속적으로사내외로공유하고자노력한다.지금은카카오에서새로운도전을시작하고있다.

-현)카카오,광고추천데이터플랫폼파트
-개발블로그(https://blog.voidmainvoid.net)운영
-개발유튜브(https://bit.ly/devwonyoung)운영

목차

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

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

2.2카프카커맨드라인툴
2.2.1kafka-topics.sh
______토픽생성
______토픽리스트조회
______토픽상세조회
______토픽옵션수정
2.2.2kafka-console-producer.sh
2.2.3kafka-console-consumer.sh
2.2.4kafka-consumer-groups.sh
2.2.5kafka-verifiable-producer,consumer.sh
2.2.6kafka-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)
______토픽삭제정책(deletepolicy)
______토픽압축정책(compactpolicy)
4.1.3ISR(In-Sync-Replicas)
______unclean.leader.election.enable

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

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.3API키발급
6.1.1.4프로듀서애플리케이션연동
6.1.1.5컨슈머애플리케이션연동
6.1.1.6커넥터S3적재파이프라인
6.1.2컨플루언트카프카정리

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

6.3정리

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

출판사 서평

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

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

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

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

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

[예제소스코드다운로드]
https://github.com/bjpublic/apache-kafka-with-java