출고예상일 안내
주문하신 상품이 한국에서 현지 배송을 위한 출고단계가 이루어질 것으로 예상되는 날짜입니다. 상품을 준비하는 과정에서 내부적인 사정으로 인해 출고예상일에 다소 오차가 생길 수 있습니다.
여러 상품(예약상품포함)을 함께 주문하신 경우 출고예상일이 가장 늦은 날짜에 맞춰 함께 배송됩니다.

아파치 카프카로 데이터 스트리밍 애플리케이션 제작 기업용 메시징 대기열 시스템의 설계와 구축 방법
원제 : Building Data Streaming Applications with Apa
시리즈 :
에이콘 오픈소스 프로그래밍 시리즈
[56]
매니시 쿠마, 찬찰 싱 저 | 최준 역 | 에이콘출판 | 2018년 04월
ISBN : 9791161751320 / 336쪽 235 x 188 (㎜)
이 상품에 궁금하신점이 있으세요? 1:1상담문의

-
정지훈
-
김현철, 신은경, 이민정, 박선우, 정기민, 곽소아, 정문수
-
거트루드(박태현)
-
성구(강성규)
- 25,200
- 21,420
- 23,400
- 21,600
출판사 리뷰
사람 사이에 이메일 같은 메시지 교환이 있다면, 서로 다른 시스템 사이에도 다양한 메시지 교환이 있다. 오늘날 정보 기술의 발전과 함께 더욱 다양한 형태의 메시지가 대량으로 처리되고 있다. 기업은 통합된 메시지 운영과 고가용성, 성능, 보안 등의 요구 사항을 만족시킬 수 있는 메시징 플랫폼 '카프카'가 필요하다. 이 책은 개발자 관점에서 카프카의 기초부터 스파크, 스톰, 하둡 같은 확장된 프레임워크까지 활용하는 법을 실용적 예제와 함께 다루고 있다. ★ 이 책에서 다루는 내용 ★ - 아파치 카프카의 기초 개념 - 스트리밍 애플리케이션의 기본 구성 - 스파크, 스톰, 헤론을 사용한 효과적인 카프카 스트리밍 애플리케이션 설계 - 메시징 시스템에 대한 빠른 처리 속도와 고성능, 고가용성 지원의 중요성 이해 - 카프카 애플리케이션 구축 과정에서 필요한 효과적인 용량 계획 수립 - 모범적인 보안 적용 사례에 대한 이해와 구현 ★ 이 책의 대상 독자 ★ 카프카 환경에서 가장 쉽고 가능한 방법으로 아파치 카프카의 다양한 도구를 사용하는 방법을 배우려는 독자를 위한 책이다. 약간의 자바 프로그래밍 경험이 있으면 이 책을 이해하기 더 쉽다. ★ 이 책의 구성 ★ 1장, '메시징 시스템 소개'에서는 메시징 시스템의 개념을 비롯한 전반적인 사항과 기업의 관련 요구 사항을 설명한다. 지점 간(point to point) 또는 게시 및 구독(publish/subscribe) 형태의 메시징 시스템을 활용하는 여러 방법을 알아본다. AMQP(Advanced Message Queuing Protocol)도 다룬다. 2장, '카프카 소개'에서는 분산 메시징 플랫폼으로서의 카프카를 소개한다. 카프카 구조와 내부 구성 요소를 다룬다. 그리고 카프카 구성 요소의 역할, 중요성 등과 함께 카프카 메시징 시스템 안에서 각각의 구성 요소가 응답시간, 신뢰성, 확장성을 어떻게 지원하는지 알아본다. 3장, '카프카 프로듀서(Kafka Producers)'에서는 카프카 시스템에 메시지를 게시하는 방법을 설명한다. 카프카 프로듀서 API와 사용법을 더 자세하게 알아본다. 자바와 스칼라(Scala) 프로그램 언어로 카프카 프로듀서 API를 사용하는 예를 살펴본다. 카프카 토픽(Kafka Topic)으로 메시지를 공급하기 위한 프로듀서의 메시지 흐름과 몇 가지 일반적인 유형을 깊이 있게 다룬다. 또한 카프카 프로듀서의 성능을 최적화하기 위한 기술을 살펴본다. 4장, '카프카 컨슈머(Kafka Consumers)'에서는 카프카 시스템에서 메시지를 사용하는 방법을 다루고, 카프카 컨슈머 API와 활용법을 설명한다. 자바와 스칼라 프로그램 언어로 카프카 컨슈머 API를 사용하는 예를 살펴본다. 카프카 토픽으로 메시지를 사용하기 위한 컨슈머의 메시지 흐름과 몇 가지 일반적인 유형을 깊이 있게 다룬다. 또한 카프카 컨슈머의 성능을 최적화하기 위한 기술을 살펴본다. 5장, '카프카 스파크 스트리밍 애플리케이션 개발'에서는 아파치 스파크(Spark) 같이 널리 사용되는 분산처리엔진을 사용해 카프카와 통합하는 방법을 다룬다. 스파크를 사용한 카프카의 통합을 위한 여러 접근 방법과 장단점에 대한 전반적 사항을 설명한다. 실제 범례를 통한 자바와 스칼라의 예제를 보여준다. 6장, '카프카 스톰(Storm) 애플리케이션 개발'에서는 아파치 스톰처럼 널리 쓰이는 실시간 처리엔진으로 카프카를 통합하는 방법을 다룬다. 또한 아파치 스톰과 아파치 헤론(Heron)에 대한 전반적인 사항을 설명한다. 아파치 스톰과 카프카를 사용해 이벤트 처리가 보장되는 방법을 포함한 여러 가지 이벤트 처리 예제를 보여준다. 7장, '컨플루언트(Confluent) 플랫폼에서의 카프카 활용'에서는 컨플루언트라는 새로운 스트리밍 플랫폼, 즉 여러 부가 기능을 사용해 효과적으로 카프카를 사용하도록 지원하는 방법을 예제와 함께 다룬다. 8장, '카프카를 활용한 ETL 파이프라인 제작'에서는 카프카 커넥트(Kafka Connect), 카프카를 포함하는 ETL(extract, transform, load) 파이프라인을 만들기 위한 공통 구성 요소를 다룬다. ETL 파이프라인에서 카프카 커넥트를 어떻게 활용하는지 살펴보고, 관련된 기술적 개념을 깊이 있게 논의한다. 9장, '카프카 스트림을 활용한 스트리밍 애플리케이션 개발'에서는 카프카 0.10 릴리즈에 포함된 카프카 스트림(Kafka Stream)을 사용해 스트리밍 애플리케이션을 제작하는 방법을 다룬다. 카프카 스트림을 사용하는 예제와 빠르고 신뢰할 수 있는 스트리밍 애플리케이션을 만드는 과정을 살펴본다. 10장, '카프카 클러스터 구축'에서는 기업용 운영 시스템 수준에서의 카프카 클러스터(cluster) 구축을 집중해서 다룬다. 카프카 클러스터에 관련된 용량 계획, 단일 또는 다중 클러스터 구축 등의 깊이 있는 주제를 설명한다. 또한 멀티테넌트(multi-tenant) 환경에서 카프카를 관리하는 방법을 다룬다. 카프카 데이터 마이그레이션(migration) 과정에 포함돼야 할 여러 단계를 살펴본다. 11장, '빅데이터 애플리케이션을 위한 카프카 활용'에서는 빅데이터 애플리케이션으로서 카프카의 활용을 다양한 관점에서 살펴본다. 카프카에서 많은 양의 데이터를 관리하는 방법, 메시지의 전송을 견고하게 보장하는 방법, 데이터 손실이 없는 장애 처리 방법, 빅데이터 파이프라인을 사용할 때 적용되는 거버넌스에 필요한 원칙을 다룬다. 12장, '카프카 보안'에서는 카프카 클러스터의 보안을 다룬다. 사용자 인증(authentication)과 권한 인증(authorization)의 동작원리를 예제와 함께 살펴본다. 13장, '스트리밍 애플리케이션 설계의 고려 사항'에서는 스트리밍 애플리케이션을 만들기 위해 설계할 때 고려할 사항을 다룬다. 병렬성(parallelism)과 메모리 조정 등과 같은 내용을 여러 관점에서 설명한다. 스트리밍 애플리케이션을 설계하기 위한 다양한 이론을 이해하기 쉽게 설명한다.
★ 지은이의 말 ★
아파치 카프카(Apache Kafka)는 메시징 큐(messaging queue) 또는 기업용 메시징 시스템 역할을 하는, 잘 알려진 분산 스트리밍 플랫폼이다. 카프카는 레코드 스트림을 게시, 구독하도록 돕고, 문제 발생 시 내결함성(fault-tolerant)을 지원하며 메시지를 처리한다.
이 책에서는 아파치 카프카와 다른 빅데이터 도구를 사용해 기업용 스트리밍 프로그램을 설계하고 구축할 수 있도록 설명한다. 많은 양의 데이터를 쉽게 처리하기 위해 카프카를 효과적으로 사용하는 방법에 대한 좋은 사례와 일반적으로 발생하는 문제점을 방지하는 방법을 다룬다. 먼저 전반부에는 메시징 시스템의 유형을 이해하고, 아파치 카프카의 상세한 내부 구조를 면밀하게 소개한다. 후반에서는 아파치 스파크(Spark), 아파치 스톰(Storm) 같이 다양한 프레임워크와 도구를 사용해 스트리밍 프로그램을 설계하는 과정을 살펴본다. 일단 기초적인 사항을 이해하고, 용량 계획(capacity planning), 보안 같은 아파치 카프카의 고급 주제를 다룬다.
이 책을 모두 읽으면, 아파치 카프카의 활용과 효율적인 스트리밍 데이터 애플리케이션의 설계에 친숙해지기 위한 모든 정보를 갖게 된다.
★ 옮긴이의 말 ★
먼저 경험이 풍부한 독자에게는 카프카를 포함한 다양하고 새로운 기술에 대해 두려움을 갖지 말라는 메시지를 전하고 싶다. 이 책에 등장하는 메시지와 스트림을 처리하기 위한 수많은 기술과 용어는 전혀 새로운 것은 아니며, 기존 용어가 조금 사라지고, 변화에 따라 기존 기술이 새 이름으로 대체된 것이다. 카프카는 약 15년 전부터 이미 있던 메시징 시스템 개념에 여전히 충실하다.
새로운 도전의 긴 여정을 앞두고 있는 독자에게는 책의 어느 한 부분에 얽매이지 말라고 전하고 싶다. 분명 기업용 메시징 시스템은 어려운 주제다. 저자의 입장에서도 자세히 설명할 수 있겠지만, 광범위한 지식을 더 쉽고 자세하게 담기는 어려웠을 것이다. 예를 들어 누군가에게 객체나 오브젝트를 말하면 다양한 속성을 가진 물건을 떠올릴 수도 있고, 프로그램을 처음 배운 이는 클래스를 떠올리기도 하고, 숙련된 개발자 중에는 직접 만든 라이브러리를 머릿속에 그릴 수도 있다. 이렇게 사람들은 용어를 각자 다른 형태로 받아들인다. 처음부터 어떤 용어가 실제로 의미하는 모습으로 완벽하게 소화되기는 어렵지만, 여러 번 실습하고 그 결과를 전체적으로 보는 과정에서는 결국 추상적인 단어도 설명조차 필요 없는 분명한 개념이 된다.
1장. 메시징 시스템 소개
__메시징 시스템의 기본원칙
__메시징 시스템의 이해
__지점 간 메시징 시스템
__게시-구독 메시징 시스템
__AMQP
__빅데이터 스트리밍 애플리케이션에 메시징 시스템 사용하기
__요약
2장. 카프카 소개, 분산 메시징 플랫폼
__카프카의 유래
__카프카의 구조
__메시지 토픽
__메시지 파티션
__복제와 복제 로그
__메시지 프로듀서
__메시지 컨슈머
__주키퍼의 역할
__요약
3장. 카프카 프로듀서
__카프카 프로듀서의 내부 구조
__카프카 프로듀서 API
____프로듀서 객체와 ProducerRecord 객체
____사용자 정의 파티션
____추가 프로듀서 설정
__자바 카프카 프로듀서 예제
__일반적인 메시지 게시 유형
__카프카 프로듀서 모범 사례
__요약
4장. 카프카 컨슈머
__카프카 컨슈머 내부 구조
____카프카 컨슈머의 역할 이해
__카프카 컨슈머 API
____컨슈머 설정
____구독과 폴링
____커밋 처리와 폴링
____추가 설정
__자바 카프카 컨슈머
__스칼라 카프카 컨슈머
____리밸런스 리스너
__일반적인 메시지 사용 유형
__모범 사례
____요약
5장. 카프카 스파크 스트리밍 애플리케이션 개발
__스파크 소개
____스파크의 구조
____스파크의 핵심요소
____스파크 운영 환경
__스파크 스트리밍
____수신자 기반 통합 방식
__직접 접근 방식
__로그 처리 활용 사례 - 사기 IP 감지
____메이븐
__프로듀서
____속성 리더
요약
6장. 카프카 스톰 애플리케이션 개발
__아파치 스톰 소개
____스톰 클러스터 구조
____스톰 애플리케이션의 개념
__아파치 헤론 소개
____헤론의 구조
__아파치 카프카와 아파치 스톰의 통합 - 자바
____예제
__아파치 카프카와 아파치 스톰의 통합 - 스칼라
__활용 사례 - 스톰, 카프카, 하이브를 사용한 로그 처리
____프로듀서
__스톰 애플리케이션
____프로젝트 실행
__요약
7장. 컨플루언트 플랫폼에서의 카프카 활용
__컨플루언트 플랫폼 소개
__컨플루언트 구조
__카프카 커넥트와 카프카 스트림의 이해
____카프카 스트림
__스키마 레지스트리를 사용한 에이브로 다루기
__카프카 데이터의 HDFS 이전
____캐머스
____고블린
____카프카 커넥트
____플룸
__요약
8장. 카프카를 사용한 ETL 파이프라인 제작
__ETL 파이프라인에서의 카프카 활용을 위한 고려사항
__카프카 커넥트 소개
__카프카 커넥트 심층 분석
__카프카 커넥트 소개 예제
__카프카 커넥트의 일반적인 활용 사례
__요약
9장. 카프카 스트림을 사용한 스트리밍 애플리케이션 개발
__카프카 스트림 소개
____스트림 처리에 카프카 사용하기
____카프카 스트림 - 가벼운 스트림 처리 라이브러리
__카프카 스트림 구조
__통합 프레임워크의 장점
__테이블과 스트림의 이해
____메이븐 의존성
____카프카 스트림 단어 수 세기 예제
____KTable
__카프카 스트림 활용 사례와 예제
____카프카 스트림의 메이븐 의존성
____Property Reader
____IP 레코드 프로듀서
____IP 룩업 서비스
____사기 감지 애플리케이션
__요약
10장. 카프카 클러스터 구축
__카프카 클러스터 내부구조
____주키퍼의 역할
____복제
____메타데이터 요청 처리
____프로듀서 요청 처리
____컨슈머 요청 처리
__용량 계획
____용량 계획의 목표
____복제 팩터
____메모리
____하드 드라이브
____네트워크
____CPU
__단일 클러스터 설치
__다중 클러스터 설치
__브로커 해제
__데이터 마이그레이션
__요약
11장. 빅 데이터 애플리케이션에 카프카 활용하기
__카프카의 대용량 데이터 관리
____적합한 하드웨어 선택
____프로듀서의 읽기와 컨슈머의 쓰기를 위한 선택
__카프카의 메시지 전송 체계
____최대 한 번 전송
____최대 한 번 전송
____정확히 한 번 전송
__빅 데이터와 일반적인 카프카 활용 형태
__카프카와 데이터 거버넌스
__알림과 모니터링
__유용한 카프카 측정 지표
____프로듀서 지표
____브로커 지표
____컨슈머 지표
__요약
12장. 카프카 보안
__카프카 보안 개요
__SSL을 사용한 전송 암호화
____카프카에서 SSL을 활성화하는 과정
____카프카 브로커에 대한 SSL 설정
____카프카 클라이언트 SSL 설정
__인증을 위한 커베로스 SASL
____카프카에서 SASL/GSSAPI를 활성화하는 과정
__ACL과 권한 인증 이해
____일반적인 ACL 동작
__주키퍼 인증 이해
__권한 인증을 위한 아파치 레인저
____레인저에 카프카 서비스 추가
____정책 추가
__모범 사례
__요약
13장. 스트리밍 애플리케이션 설계의 고려 사항
__처리 시간과 처리량
__데이터와 상태 정보의 지속성
__데이터 소스
__외부 데이터 룩업
__데이터 형식
__데이터 직렬화
__병렬 처리 수준
__순서가 바뀐 이벤트
__메시지 처리 체계
__요약








































