로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

『아파치 카프카로 데이터 스트리밍 애플리케이션 제작: 기업용 메시징 대기열 시스템의 설계와 구축 방법』

   
지은이 매니시 쿠마, 찬찰 싱   |   출판사 에이콘  |   발행일 2018년 04월 30일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 30,000원27,000원 10%
마일리지 5% 1,500원
발행일 2018-04-30
ISBN 1161751327 | 9791161751320
기타정보 번역서 | 336쪽 | 일반
예상출고일 금일 가능 (근무일기준)
배송비 무료배송
   
일반
   
 

★ 요약 ★



사람 사이에 이메일 같은 메시지 교환이 있다면, 서로 다른 시스템 사이에도 다양한 메시지 교환이 있다. 오늘날 정보 기술의 발전과 함께 더욱 다양한 형태의 메시지가 대량으로 처리되고 있다. 기업은 통합된 메시지 운영과 고가용성, 성능, 보안 등의 요구 사항을 만족시킬 수 있는 메시징 플랫폼 ‘카프카’가 필요하다. 이 책은 개발자 관점에서 카프카의 기초부터 스파크, 스톰, 하둡 같은 확장된 프레임워크까지 활용하는 법을 실용적 예제와 함께 다루고 있다.





★ 이 책에서 다루는 내용 ★



█ 아파치 카프카의 기초 개념

█ 스트리밍 애플리케이션의 기본 구성

█ 스파크, 스톰, 헤론을 사용한 효과적인 카프카 스트리밍 애플리케이션 설계

█ 메시징 시스템에 대한 빠른 처리 속도와 고성능, 고가용성 지원의 중요성 이해

█ 카프카 애플리케이션 구축 과정에서 필요한 효과적인 용량 계획 수립

█ 모범적인 보안 적용 사례에 대한 이해와 구현



★ 이 책의 대상 독자 ★



카프카 환경에서 가장 쉽고 가능한 방법으로 아파치 카프카의 다양한 도구를 사용하는 방법을 배우려는 독자를 위한 책이다. 약간의 자바 프로그래밍 경험이 있으면 이 책을 이해하기 더 쉽다.





★ 이 책의 구성 ★



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), 보안 같은 아파치 카프카의 고급 주제를 다룬다.

이 책을 모두 읽으면, 아파치 카프카의 활용과 효율적인 스트리밍 데이터 애플리케이션의 설계에 친숙해지기 위한 모든 정보를 갖게 된다.

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장. 스트리밍 애플리케이션 설계의 고려 사항

__처리 시간과 처리량

__데이터와 상태 정보의 지속성

__데이터 소스

__외부 데이터 룩업

__데이터 형식

__데이터 직렬화

__병렬 처리 수준

__순서가 바뀐 이벤트

__메시지 처리 체계

__요약
매니시 쿠마(Manish Kumar)

인도의 데이터메티카 솔루션 유한회사(DataMetica Solution Pvt. Ltd.)의 테크니컬 아키텍트다. 데이터와 제품의 아키텍트로 약 11년간 데이터 관리 분야에서 근무했다. 효율적인 ETL 파이프라인 제작과 하둡(Hadoop)을 아우르는 보안 적용, 데이터 사이언스 문제에 최선의 솔루션을 제공하는 경험이 풍부하다. 빅데이터 세상에 합류하기 전에는 인도의 시어스 홀딩(Sears Holding) 사에서 테크 리드(Tech Lead)로 근무했다. 정보기술 분야에서 학사 학위를 받았으며, 하둡이나 하둡 보안과 관련된 빅데이터 개념을 다루는 여러 모임에서 주요 강사로 활동하고 있다.



찬찰 싱(Chanchal Singh)

데이터메티카 솔루션 유한회사(DataMetica Solution Pvt. Ltd.)의 소프트웨어 엔지니어다. 개발자, 데이터 기술자, 그리고 팀장으로서 제품 개발과 설계 분야에서 3년 넘게 근무했다. 무엇보다 하둡, 스파크, 스톰, 카프카, 하이브, 피그(Pig), 플룸(Flume), 자바, 스프링 등의 분야에서 매우 다양한 경력을 갖고 있다. 지식을 나누고 다른 이에게 동기를 부여하는 것이 혁신을 위한 길이라고 믿는다. 이 책의 빅데이터 파트의 공동 저자다.

찬찰은 조직에 혁신적인 아이디어를 불어 넣는다. 뭄바이 대학(University of Mumbai)에서 정보기술 분야의 학사 과정을 마쳤고, 아미티 대학(Amity University)에서 석사 과정을 수료했다. 또한 IIT 뭄바이 기업가 모임에서 활동했다.





★ 옮긴이의 말 ★



먼저 경험이 풍부한 독자에게는 카프카를 포함한 다양하고 새로운 기술에 대해 두려움을 갖지 말라는 메시지를 전하고 싶다. 이 책에 등장하는 메시지와 스트림을 처리하기 위한 수많은 기술과 용어는 전혀 새로운 것은 아니며, 기존 용어가 조금 사라지고, 변화에 따라 기존 기술이 새 이름으로 대체된 것이다. 카프카는 약 15년 전부터 이미 있던 메시징 시스템 개념에 여전히 충실하다.

새로운 도전의 긴 여정을 앞두고 있는 독자에게는 책의 어느 한 부분에 얽매이지 말라고 전하고 싶다. 분명 기업용 메시징 시스템은 어려운 주제다. 저자의 입장에서도 자세히 설명할 수 있겠지만, 광범위한 지식을 더 쉽고 자세하게 담기는 어려웠을 것이다. 예를 들어 누군가에게 객체나 오브젝트를 말하면 다양한 속성을 가진 물건을 떠올릴 수도 있고, 프로그램을 처음 배운 이는 클래스를 떠올리기도 하고, 숙련된 개발자 중에는 직접 만든 라이브러리를 머릿속에 그릴 수도 있다. 이렇게 사람들은 용어를 각자 다른 형태로 받아들인다. 처음부터 어떤 용어가 실제로 의미하는 모습으로 완벽하게 소화되기는 어렵지만, 여러 번 실습하고 그 결과를 전체적으로 보는 과정에서는 결국 추상적인 단어도 설명조차 필요 없는 분명한 개념이 된다.





★ 옮긴이 소개 ★



최 준

대기업 전산실에서 근무하다 2001년 은사를 만나 미련 없이 직장을 떠날 수 있었다. 이후 10년 동안 한국마이크로소프트와 마이크로소프트 싱가폴 지사에서 근무했다. 아시아의 200여 개 기업의 현장에서 기술 지원을 수행하면서 다양한 기업용 IT 시스템의 문제를 이해하고 해결 방안을 찾는 소중한 경험을 쌓았다. 현재 캐나다에서 회사를 설립해 기업 고객에게 클라우드 서비스 컨설팅을 하고 있다.

등록된 서평이 없습니다.
UI/UX 디자인 이론과 실습...
이영주
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
pfSense 마스터...
데이빗 지엔타라
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
『GitHub를 활용한 다양한 도구 개발: 개발 워크플로우 최적화』
크리스 도슨, 벤 스트라우브 저
27,000원
(10%↓+5%)
 
『이득우의 언리얼 C++ 게임 개발의 정석』
이득우 저
45,000원
(10%↓+5%)
 
『유니티 게임 오디오 개발: 게임 오디오의 기본 개념부터 오디오 및 이펙트 개발까지』
마이클 랜햄 저
27,000원
(10%↓+5%)
 
『예제로 배우는 언리얼 엔진 4 게임 개발: C++와 블루프린트로 머티리얼 제작부터 네트워킹까지』
벤자민 카날 저
0원
(0%↓+1%)
 
『예제로 배우는 언리얼 엔진 4 게임 개발: C++와 블루프린트로 머티리얼 제작부터 네트워킹까지』
벤자민 카날 저
40,500원
(10%↓+5%)
 
이메일주소수집거부