HOME > 상세정보

상세정보

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

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

자료유형
단행본
개인저자
Kumar, Manish Manish Kumar, 저 Singh, Chanchal, 저 최준, 역
서명 / 저자사항
아파치 카프카로 데이터 스트리밍 애플리케이션 제작 : 기업용 메시징 대기열 시스템의 설계와 구축 방법 / 매니시 쿠마 공 지음 ; 최준 옮김
발행사항
서울 :   에이콘출판,   2018  
형태사항
334 p. : 삽화 ; 24 cm
총서사항
acorn+PACKT
원표제
Building data streaming applications with apache kafka : design, develop and streamline applications using Apache Kafka, storm, heron and spark
ISBN
9791161751320
일반주기
색인수록  
000 00000cam c2200205 c 4500
001 000045948881
005 20181008101433
007 ta
008 180731s2018 ulka b 001c kor
020 ▼a 9791161751320 ▼g 94000
035 ▼a (KERIS)BIB000014819119
040 ▼a 241047 ▼c 211009 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.74 ▼2 23
085 ▼a 005.74 ▼2 DDCK
090 ▼a 005.74 ▼b 2018z5
100 1 ▼a Kumar, Manish
245 1 0 ▼a 아파치 카프카로 데이터 스트리밍 애플리케이션 제작 : ▼b 기업용 메시징 대기열 시스템의 설계와 구축 방법 / ▼d 매니시 쿠마 공 지음 ; ▼e 최준 옮김
246 1 9 ▼a Building data streaming applications with apache kafka : ▼b design, develop and streamline applications using Apache Kafka, storm, heron and spark
260 ▼a 서울 : ▼b 에이콘출판, ▼c 2018
300 ▼a 334 p. : ▼b 삽화 ; ▼c 24 cm
440 0 0 ▼a acorn+PACKT
500 ▼a 색인수록
546 ▼a 영어로 된 원저작을 한국어로 번역
700 1 ▼a Manish Kumar, ▼e
700 1 ▼a Singh, Chanchal, ▼e
700 1 ▼a 최준, ▼e

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실/ 청구기호 005.74 2018z5 등록번호 151341935 도서상태 대출가능 반납예정일 예약 서비스 C

컨텐츠정보

책소개

개발자 관점에서 카프카의 기초부터 스파크, 스톰, 하둡 같은 확장된 프레임워크까지 활용하는 법을 실용적 예제와 함께 알려준다. 아파치 카프카의 기초 개념, 스트리밍 애플리케이션의 기본 구성, 스파크, 스톰, 헤론을 사용한 효과적인 카프카 스트리밍 애플리케이션 설계, 메시징 시스템에 대한 빠른 처리 속도와 고성능, 고가용성 지원의 중요성 이해, 카프카 애플리케이션 구축 과정에서 필요한 효과적인 용량 계획 수립, 모범적인 보안 적용 사례에 대한 이해와 구현 등을 다룬다.

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

★ 이 책에서 다루는 내용 ★

- 아파치 카프카의 기초 개념
- 스트리밍 애플리케이션의 기본 구성
- 스파크, 스톰, 헤론을 사용한 효과적인 카프카 스트리밍 애플리케이션 설계
- 메시징 시스템에 대한 빠른 처리 속도와 고성능, 고가용성 지원의 중요성 이해
- 카프카 애플리케이션 구축 과정에서 필요한 효과적인 용량 계획 수립
- 모범적인 보안 적용 사례에 대한 이해와 구현

★ 이 책의 대상 독자 ★

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

★ 이 책의 구성 ★

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)과 메모리 조정 등과 같은 내용을 여러 관점에서 설명한다. 스트리밍 애플리케이션을 설계하기 위한 다양한 이론을 이해하기 쉽게 설명한다.


정보제공 : Aladin

저자소개

매니시 쿠마(지은이)

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

찬찰 싱(지은이)

데이터메티카 솔루션 유한회사(DataMetica Solution Pvt. Ltd.)의 소프트웨어 엔지니어다. 개발자, 데이터 기술자, 그리고 팀장으로서 제품 개발과 설계 분야에서 3년 넘게 근무했다. 무엇보다 하둡, 스파크, 스톰, 카프카, 하이브, 피그(Pig), 플룸(Flume), 자바, 스프링 등의 분야에서 매우 다양한 경력을 갖고 있다. 지식을 나누고 다른 이에게 동기를 부여하는 것이 혁신을 위한 길이라고 믿는다. 이 책의 빅데이터 파트의 공동 저자다. 찬찰은 조직에 혁신적인 아이디어를 불어 넣는다. 뭄바이 대학(University of Mumbai)에서 정보기술 분야의 학사 과정을 마쳤고, 아미티 대학(Amity University)에서 석사 과정을 수료했다. 또한 IIT 뭄바이 기업가 모임에서 활동했다.

최준(옮긴이)

기계 공학을 전공했던 학창 시절에 누구에게나 매력덩어리였던 컴퓨터로 기계의 데이터를 처리하고 동작을 제어하는 과정에서 더욱 흥미를 갖게 된 정보기술 분야에 뛰어들었다. 졸업하고 한동안 대기업 전산실에서 근무하다가 답답한 공간을 벗어나 더 넓은 세상에 도전할 기회가 생겼고, 영어가 익숙해질 수밖에 없는 부서에 들어가 본격적인 엔지니어 경력을 시작했다. 2001년부터 마이크로소프트 한국, 싱가폴 지사에서 근무하며 약 10년간 아시아 지역 200여 대기업의 현장에서 기술 지원을 수행했고, 다양한 기업용 IT 시스템의 문제를 이해하고 해결 방안을 찾는 소중한 경험을 쌓았다. 현재 캐나다에 IT 컨설팅 회사를 설립하고, 기업 고객에게 클라우드 서비스 컨설팅을 하고 있다.

정보제공 : Aladin

목차

목차
지은이 소개 = 5
기술 감수자 소개 = 7
옮긴이 소개 = 8
옮긴이의 말 = 9
들어가며 = 18
1장 메시징 시스템 소개 = 27
 메시징 시스템의 기본원칙 = 28
 메시징 시스템의 이해 = 30
 지점 간 메시징 시스템 = 33
 게시-구독 메시징 시스템 = 37
 AMQP = 40
 빅데이터 스트리밍 애플리케이션에 메시징 시스템 사용하기 = 42
 요약 = 46
2장 카프카 소개, 분산 메시징 플랫폼 = 47
 카프카의 유래 = 48
 카프카의 구조 = 49
 메시지 토픽 = 53
 메시지 파티션 = 54
 복제와 복제 로그 = 58
 메시지 프로듀서 = 60
 메시지 컨슈머 = 62
 주키퍼의 역할 = 63
 요약 = 64
3장 카프카 프로듀서 = 67
 카프카 프로듀서의 내부 구조 = 68
 카프카 프로듀서 API = 72
  프로듀서 객체와 ProducerRecord 객체 = 75
  사용자 정의 파티션 = 79
  추가 프로듀서 설정 = 80
 자바 카프카 프로듀서 예제 = 83
 일반적인 메시지 게시 유형 = 85
 카프카 프로듀서 모범 사례 = 88
 요약 = 90
4장 카프카 컨슈머 = 93
 카프카 컨슈머 내부 구조 = 94
  카프카 컨슈머의 역할 이해 = 95
 카프카 컨슈머 API = 98
  컨슈머 설정 = 99
  구독과 폴링 = 101
  커밋 처리와 폴링 = 102
  추가 설정 = 105
 자바 카프카 컨슈머 = 107
 스칼라 카프카 컨슈머 = 108
  리밸런스 리스너 = 110
 일반적인 메시지 사용 유형 = 111
 모범 사례 = 114
 요약 = 116
5장 카프카 스파크 스트리밍 애플리케이션 개발 = 117
 스파크 소개 = 118
  스파크의 구조 = 119
 스파크 스트리밍 = 124
  수신자 기반 통합 방식 = 125
  직접 접근 방식 = 131
 로그 처리 활용 사례 - 사기 IP 감지 = 135
  메이븐 = 136
 프로듀서 = 140
  속성 리더 = 141
 요약 = 149
6장 카프카 스톰 애플리케이션 개발 = 151
 아파치 스톰 소개 = 152
  스톰 클러스터 구조 = 152
  스톰 애플리케이션의 개념 = 154
 아파치 헤론 소개 = 156
  헤론의 구조 = 157
 아파치 카프카와 아파치 스톰의 통합 - 자바 = 160
  예제 = 161
 아파치 카프카와 아파치 스톰의 통합 - 스칼라 = 166
 활용 사례 - 스톰, 카프카, 하이브를 사용한 로그 처리 = 170
  프로듀서 = 174
 스톰 애플리케이션 = 179
  프로젝트 실행 = 189
 요약 = 190
7장 컨플루언트 플랫폼에서의 카프카 활용 = 191
 컨플루언트 플랫폼 소개 = 192
 컨플루언트 구조 = 194
 카프카 커넥트와 카프카 스트림의 이해 = 197
  카프카 스트림 = 198
 스키마 레지스트리를 사용한 에이브로 다루기 = 200
 카프카 데이터의 HDFS 이전 = 201
  캐머스 = 202
  고블린 = 204
  카프카 커넥트 = 207
  플룸 = 209
 요약 = 212
8장 카프카를 사용한 ETL 파이프라인 제작 = 213
 ETL 파이프라인에서의 카프카 활용을 위한 고려사항 = 214
 카프카 커넥트 소개 = 216
 카프카 커넥트 심층 분석 = 218
 카프카 커넥트 소개 예제 = 220
 카프카 커넥트의 일반적인 활용 사례 = 224
 요약 = 225
9장 카프카 스트림을 사용한 스트리밍 애플리케이션 개발 = 227
 카프카 스트림 소개 = 228
  스트림 처리에 카프카 사용하기 = 229
  카프카 스트림 - 가벼운 스트림 처리 라이브러리 = 230
 카프카 스트림 구조 = 232
 통합 프레임워크의 장점 = 235
 테이블과 스트림의 이해 = 236
  메이븐 의존성 = 236
  카프카 스트림 단어 수 세기 예제 = 237
  KTable = 239
 카프카 스트림 활용 사례와 예제 = 240
  카프카 스트림의 메이븐 의존성 = 240
  Property Reader = 242
  IP 레코드 프로듀서 = 243
  IP 룩업 서비스 = 246
  사기 감지 애플리케이션 = 247
 요약 = 249
10장 카프카 클러스터 구축 = 251
 카프카 클러스터 내부구조 = 252
  주키퍼의 역할 = 252
  복제 = 254
  메타데이터 요청 처리 = 256
  프로듀서 요청 처리 = 257
  컨슈머 요청 처리 = 258
 용량 계획 = 259
  용량 계획의 목표 = 259
  복제 팩터 = 260
  메모리 = 260
  하드 드라이브 = 261
  네트워크 = 262
  CPU = 263
 단일 클러스터 설치 = 263
 다중 클러스터 설치 = 264
 브로커 해제 = 266
 데이터 마이그레이션 = 268
 요약 = 269
11장 빅데이터 애플리케이션에 카프카 활용하기 = 271
 카프카의 대용량 데이터 관리 = 273
  적합한 하드웨어 선택 = 273
  프로듀서의 읽기와 컨슈머의 쓰기를 위한 선택 = 275
 카프카의 메시지 전송 체계 = 277
  최대 한 번 전송 = 278
  최대 한 번 전송 = 281
  정확히 한 번 전송 = 283
 빅데이터와 일반적인 카프카 활용 형태 = 284
 카프카와 데이터 거버넌스 = 286
 알림과 모니터링 = 288
 유용한 카프카 측정 지표 = 289
  프로듀서 지표 = 290
  브로커 지표 = 291
  컨슈머 지표 = 292
 요약 = 293
12장 카프카 보안 = 295
 카프카 보안 개요 = 296
 SSL을 사용한 전송 암호화 = 297
  카프카에서 SSL을 활성화하는 과정 = 298
 인증을 위한 커베로스 SASL = 300
  카프카에서 SASL/GSSAPI를 활성화하는 과정 = 303
 ACL과 권한 인증 이해 = 307
  일반적인 ACL 동작 = 308
 주키퍼 인증 이해 = 310
 권한 인증을 위한 아파치 레인저 = 311
  레인저에 카프카 서비스 추가 = 312
  정책 추가 = 313
 모범 사례 = 315
 요약 = 317
13장 스트리밍 애플리케이션 설계의 고려 사항 = 319
 처리 시간과 처리량 = 320
 데이터와 상태 정보의 지속성 = 322
 데이터 소스 = 323
 외부 데이터 룩업 = 324
 데이터 형식 = 325
 데이터 직렬화 = 326
 병렬 처리 수준 = 326
 순서가 바뀐 이벤트 = 327
 메시지 처리 체계 = 328
 요약 = 329
찾아보기 = 330

관련분야 신착자료

한국데이터산업진흥원 (2020)