본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

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

컴퓨터/IT 개발/프로그래밍 ,   컴퓨터/IT 컴퓨터/앱 활용

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

카프카의 개념부터 스트림즈 • 커넥트 • 스프링 카프카까지 데이터 파이프라인 구축 따라하기
소장종이책 정가32,000
전자책 정가20%25,600
판매가25,600
아파치카프카 애플리케이션 프로그래밍 with 자바 표지 이미지

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

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

아파치 카프카 애플리케이션 개발을 위한 「실전 가이드」

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


출판사 서평

전 세계 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


저자 프로필

최원영

  • 경력 카카오 광고추천데이터플랫폼파트

2021.04.29. 업데이트 작가 프로필 수정 요청

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

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


저자 소개

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

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

목차

[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 로컬 테스트용 카프카 도커 이미지 실행


북 트레일러


리뷰

구매자 별점

4.9

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

8명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전