실전 카프카 개발부터 운영까지 (데이터플랫폼의 중추 아파치 카프카의 내부동작과 개발,운영,보안의 모든것)

실전 카프카 개발부터 운영까지 (데이터플랫폼의 중추 아파치 카프카의 내부동작과 개발,운영,보안의 모든것)

$33.18
Description
아파치 카프카의 공동 창시자 준 라오(Jun Rao)가 추천한 책!
국내 최초이자 유일한 컨플루언트 공인 아파치 카프카 강사(Confluent Certified Trainer for Apache Kafka)와 공인 관리자 자격(Confluent Certified Administrator for Apache Kafka)을 보유한 『카프카, 데이터 플랫폼의 최강자』 저자 고승범이 SKT, 카카오 등 국내 최대 규모의 데이터 플랫폼상에서 카프카를 운영하며 쌓아온 현업 경험과 노하우를 이 책에 모두 담아냈다.

대량의 데이터를 손실없이 빠르고 정확하게 처리하고 싶다면? 정답은 카프카!
풍부한 그림으로 쉽고 빠르게 이해하는 카프카의 내부 구조와 동작 방식부터 카프카 클라이언트의 기본이 되는 예제 코드와 실제 운영에서 필요한 핵심 노하우는 물론이고, 365일 안전한 카프카를 운영할 수 있는 보안과 모니터링 기법, 운영 편의성과 효율성을 극대화할 수 있는 스키마 레지스트리와 카프카 커넥트까지 카프카에 대한 모든 것을 담은 가장 완벽하고 상세한 최고의 가이드북이다.
저자

고승범

현재SK텔레콤에서빅데이터플랫폼의중추역할을하는카프카운영업무를맡고있다.이전에는카카오에서전사공용카프카와래빗MQ를운영했으며그경험을살려서공동집필한『카프카,데이터플랫폼의최강자』(책만,2018)로국내카프카기술저변확대에일조해왔다.또한카프카한국사용자모임(facebook.com/groups/kafka.kru)도창설하여카프카기술을알리고지식도공유하며각종온오프라인세미나를리딩하고있다.국내최초이자유일한컨플루언트공인아파치카프카강사자격(ConfluentCertifiedTrainerforApacheKafka)을비롯해,컨플루언트공인아파치카프카관리자자격(ConfluentCertifiedAdministratorforApacheKafka)도보유하고있다.

목차

1장카프카개요
1.1잘란도와트위터의카프카도입사례
__1.1.1유럽최대온라인패션몰잘란도의도전사례
__1.1.2SNS절대강자트위터의카프카활용사례
1.2국내외카프카이용현황
1.3카프카의주요특징
1.4카프카의성장
1.5다양한카프카의사용사례
1.6정리

2장카프카환경구성
2.1이책의실습환경구성
__2.1.1AWS환경에서실습환경구성
__2.1.2온프레미스환경에서실습환경구성
2.2카프카클러스터구성
2.35분만에카프카맛보기
__2.3.1카프카의기본구성
__2.3.2메시지보내고받기
2.4정리

3장카프카기본개념과구조
3.1카프카기초다지기
__3.1.1리플리케이션
__3.1.2파티션
__3.1.3세그먼트
3.2카프카의핵심개념
__3.2.1분산시스템
__3.2.2페이지캐시
__3.2.3배치전송처리
__3.2.4압축전송
__3.2.5토픽,파티션,오프셋
__3.2.6고가용성보장
__3.2.7주키퍼의의존성
3.3프로듀서의기본동작과예제맛보기
__3.3.1프로듀서디자인
__3.3.2프로듀서의주요옵션
__3.3.3프로듀서예제
3.4컨슈머의기본동작과예제맛보기
__3.4.1컨슈머의기본동작
__3.4.2컨슈머의주요옵션
__3.4.3컨슈머예제
__3.4.4컨슈머그룹의이해
3.5정리

4장카프카의내부동작원리와구현
4.1카프카리플리케이션
__4.1.1리플리케이션동작개요
__4.1.2리더와팔로워
__4.1.3복제유지와커밋
__4.1.4리더와팔로워의단계별리플리케이션동작
__4.1.5리더에포크와복구
4.2컨트롤러
4.3로그(로그세그먼트)
__4.3.1로그세그먼트삭제
__4.3.2로그세그먼트컴팩션
4.4정리

5장프로듀서의내부동작원리와구현
5.1파티셔너
__5.1.1라운드로빈전략
__5.1.2스티키파티셔닝전략
5.2프로듀서의배치
5.3중복없는전송
5.4정확히한번전송
__5.4.1디자인
__5.4.2프로듀서예제코드
__5.4.3단계별동작
__5.4.4예제실습
5.5정리

6장컨슈머의내부동작원리와구현
6.1컨슈머오프셋관리
6.2그룹코디네이터
6.3스태틱멤버십
6.4컨슈머파티션할당전략
__6.4.1레인지파티션할당전략
__6.4.2라운드로빈파티션할당전략
__6.4.3스티키파티션할당전략
__6.4.4협력적스티키파티션할당전략
6.5정확히한번컨슈머동작
6.6정리

7장카프카운영과모니터링
7.1안정적인운영을위한주키퍼와카프카구성
__7.1.1주키퍼구성
__7.1.2카프카구성
7.2모니터링시스템구성
__7.2.1애플리케이션으로서카프카의로그관리와분석
__7.2.2JMX를이용한카프카메트릭모니터링
__7.2.3카프카익스포터
7.3정리

8장카프카버전업그레이드와확장
8.1카프카버전업그레이드를위한준비
8.2주키퍼의존성이있는카프카롤링업그레이드
__8.2.1최신버전의카프카다운로드와설정
__8.2.2브로커버전업그레이드
__8.2.3브로커설정변경
__8.2.4업그레이드작업시주의사항
8.3카프카의확장
__8.3.1브로커부하분산
__8.3.2분산배치작업시주의사항
8.4정리

9장카프카보안
9.1카프카보안의세가지요소
__9.1.1암호화(SSL)
__9.1.2인증(SASL)
__9.1.3권한(ACL)
9.2SSL을이용한카프카암호화
__9.2.1브로커키스토어생성
__9.2.2CA인증서생성
__9.2.3트러스트스토어생성
__9.2.4인증서서명
__9.2.5나머지브로커에대한SSL구성
__9.2.6브로커설정에SSL추가
__9.2.7SSL기반메시지전송
9.3커버로스(SASL)를이용한카프카인증
__9.3.1커버로스구성
__9.3.2키탭을이용한인증
__9.3.3브로커커버로스설정
__9.3.4클라이언트커버로스설정
9.4ACL을이용한카프카권한설정
__9.4.1브로커권한설정
__9.4.2유저별권한설정
9.5정리

10장스키마레지스트리
10.1스키마의개념과유용성
10.2카프카와스키마레지스트리
__10.2.1스키마레지스트리개요
__10.2.2스키마레지스트리의에이브로지원
__10.2.3스키마레지스트리설치
10.3스키마레지스트리실습
__10.3.1스키마레지스트리와클라이언트동작
__10.3.2파이썬을이용한스키마레지스트리활용
10.4스키마레지스트리호환성
__10.4.1BACKWARD호환성
__10.4.2FORWARD호환성
__10.4.3FULL호환성
__10.4.4스키마레지스트리호환성실습
10.5정리

11장카프카커넥트
11.1카프카커넥트의핵심개념
11.2카프카커넥트의내부동작
11.3단독모드카프카커넥트
__11.3.1파일소스커넥터실행
__11.3.2파일싱크커넥터실행
11.4분산모드카프카커넥트
11.5커넥터기반의미러메이커2.0
11.6정리

12장엔터프라이즈카프카아키텍처구성사례
12.1엔터프라이즈용카프카아키텍처의개요
12.2엔터프라이즈용카프카의환경구성
12.3엔터프라이즈용카프카의운영실습
__12.3.1CMAK를이용한토픽생성
__12.3.2카프카커넥트설정
__12.3.3모니터링환경구성
__12.3.4메시지전송과확인
12.4정리

13장카프카의발전과미래
13.1주키퍼없는카프카의미래
__13.1.1주키퍼사용에따른제약사항
__13.1.2주키퍼의존성을제거한카프카업그레이드
13.2새로운합의프로토콜
13.3최적화된컨트롤러노드구성
13.4카프카의미래가담긴KIP
13.5정리

부록AMSK와컨플루언트클라우드
__A.1MSK
__A.2컨플루언트클라우드
__A.3MSK와컨플루언트클라우드비교

부록B앤서블맛보기
__B.1앤서블의특징
__B.2실습환경구성
__B.3앤서블기능살펴보기

부록C도커를이용한카프카설치
__C.1도커기반의카프카구성
__C.2메시지보내고받기

부록D한눈에보는Q&A
__D.1주키퍼관련
__D.2카프카관련
__D.3프로듀서관련
__D.4컨슈머관련

출판사 서평

|이책에서다루는내용|
-풍부한그림으로알기쉽게설명한카프카내부구조와동작원리
-자바와파이썬을이용한카프카클라이언트예제코드
-AWS와온프레미스환경에서의카프카구축과운영
-고통을최소화하는카프카업그레이드와유지보수방안
-아파치카프카기반보안구축방법
-스키마레지스트리와카프카커넥트의다양한활용
-카프카를제대로사용하기위한프로듀서/컨슈머의내부동작과리밸런싱동작방식
-엔터프라이즈환경에서의카프카아키텍처구성사례
-현업전문가의경험과팁을정리한Q&A

|이책의대상독자|
-카프카를배우고자하는초보자
-카프카를현업에적용하고싶은운영자
-카프카를최대한활용하기위해내부동작방식을알고싶은개발자
-카프카와카프카에코시스템을이해하고활용하고자하는개발자
-데이터표준화와실시간처리에대해고민하는아키텍트
-효율적으로데이터를수집,처리,분석하기를원하는아키텍트

|이책의구성|
1장‘카프카개요’에서는잘란도와트위터의카프카도입사례를통해우수기업에서의고민들과카프카의특장점을알아보고,국내외카프카현황등을알아봅니다.나날이발전하고있는카프카의성장과정을살펴보고사용사례도알아봅니다.
2장‘카프카환경구성’은이책의전반적인실습환경을구성하기위한내용으로,AWS환경과온프레미스환경에서구성하는방법을처음AWS를접하는분들도쉽게따라할수있도록자세하게설명했습니다.AWS환경에서카프카설치가완료되면간단한맛보기예제로카프카에대해알아봅니다.
3장‘카프카기본개념과구조’에서는카프카의기본지식을쌓기위해카프카기본구조,프로듀서와컨슈머의동작과예제코드를살펴봅니다.
4장‘카프카의내부동작원리와구현’에서는카프카의주요핵심기능을살펴보며,리플리케이션과관련된내부상세동작,컨트롤러의역할,로그등을집중적으로다뤄봅니다.
5장‘프로듀서의내부동작원리와구현’에서는프로듀서의핵심기능을살펴보며,파티셔너,중복없는메시지전송,정확히한번전송등프로듀서에서안정적인메시지전송을하기위해반드시알아야할내용을다룹니다.
6장‘컨슈머의내부동작원리와구현’에서는컨슈머의핵심기능을살펴봅니다.컨슈머의오프셋관리,그룹코디네이터의동작과파티션전략등컨슈머를안정적으로개발하고운영하기위한핵심내용을살펴봅니다.
7장‘카프카운영과모니터링’에서는카프카를안정적으로운영하기위한방법과노하우등을살펴봅니다.모니터링시스템을직접구축하는실습을통해안정적으로모니터링하는방법을알아봅니다.
8장‘카프카버전업그레이드와확장’에서는카프카운영시필수적인버전업그레이드와스케일아웃방법을직접실습하면서이해해봅니다.
9장‘카프카보안’에서는카프카에서제공하는보안관련내용을다룹니다.보안을적용하는실습과정도진행해봅니다.
10장‘스키마레지스트리’에서는스키마레지스트리의개요와활용방법을알아봅니다.스키마레지스트리를처음접하는분들을위해에이브로(Avro)기반의실습과정과예제코드를함께다룹니다.
11장‘카프카커넥트’에서는카프카커넥트의기본개념과동작등을살펴봅니다.최근공개된미러메이커2.0에대한간략한소개와함께미러링방법을배워봅니다.
12장‘엔터프라이즈카프카아키텍처구성사례’에서는지금까지책에서다룬내용을기반으로엔터프라이즈환경과유사하게미러메이커는물론이고엘라스틱서치및모니터링등을통합구성해실습해봅니다.
13장‘카프카의발전과미래’에서는최근가장큰이슈인주키퍼의의존성을없애려는배경과현재진행상황그리고앞으로의방향에대해살펴봅니다.
4개부록에서는각각MSK,컨플루언트클라우드(ConfluentCloud)에서카프카를구성하는방법과장단점을비교했으며,앤서블(Ansible)의특징과실습환경구성,도커(Docker)를이용한카프카설치등별도로기초과정을추가해처음접하는분들도쉽게이해할수있도록설명했습니다.또한사용자들이평소궁금해하는질문들을간단히살펴볼수있도록요약정리했습니다.

|이책을활용하기위한개발환경|
-아파치카프카2.6
-아파치주키퍼3.5.9
-컨플루언트카프카6.1
-자바1.8
-파이썬3.7.9
-앤서블(Ansible)2.9.12
-운영체제:온프레미스(CentOS7),AWS(AmazonLinux2)

이책을마무리하는시점인2021년9월말기준으로아파치카프카3.0이릴리스되었습니다.하지만아파치카프카3.0에서새로이도입된,주키퍼의존성이제거된크래프트(KRaft)알고리즘등은아직운영환경에서사용하는것이권장되지않습니다.따라서이책에서모든실습예제와설명은엔터프라이즈환경에서안정적으로사용할수있는아파치카프카2.6을기준으로전개합니다.

[베타리더한마디]
MSA,EDA기반설계에서카프카는핵심시스템으로자리잡았다.수많은컨트리뷰터의노력으로성숙도가많이올라갔고,다양한기업에서활용되며대용량메시지처리에서도안정성을입증하고있다.저자는이러한국내의카프카활성화와다양한유스케이스에많은기여를했다.카프카한국사용자그룹을운영하고『카프카,데이터플랫폼의최강자』를집필해많은카프카입문자에게기초이론과운영노하우를알렸다.
이번에나온『실전카프카개발부터운영까지』는새로운버전의카프카전문서적으로최신카프카의정보를싣고,모든챕터에서실무에적용가능한예제를풍부하게담았다.또한알기쉽게풀이하여독자들이카프카관련내용을온전히습득할수있도록기술했다.최근더욱높아진사용자의눈높이에맞춰모니터링,보안그리고스키마레지스트리,커넥트등과같은컴포넌트활용방법이구성되어있으며,특히버전업그레이드,엔터프라이즈구성,Q&A챕터는저자의운영실무노하우가담겨있어독자의의문점을완벽히해소해줄것이다.
-이승하/무신사빌링개발팀

카프카에대해공부해보고싶은학생,카프카를이용해애플리케이션을만들려는개발자,또는카프카클러스터를운영하는엔지니어등이책을손에쥔독자층은매우다양할것입니다.이책은여기에나열된누구에게나유익한책입니다.학생분들은카프카가해결하려는문제의본질을배울수있으며,개발자분들은프로듀서/컨슈머를개발하면서그간알고싶었던궁금증을해결할실마리를찾을수있을테고,관리자분들은카프카를안정적으로운영하기위해필요한지식을얻어갈것이라확신합니다.
이책이더욱특별했던점은저자의풍부한카프카운영경험에기반한정보가많다는점입니다.저자는실무에서맞닥뜨릴법한상황들을가정해서그에맞는정보를과하지도부족하지도않게풀어내는식으로내용을전개합니다.평소에그와같은문제에대해고민해봤던분들에게는단비같은내용일것입니다.제가그랬듯,독자여러분들도이런꿀팁을많이얻어가시길바랍니다.
-남지열/DPG미디어머신러닝엔지니어

실제로카프카를구성하는것은-이론상-그리어려운일이아니다.공식문서를따라주키퍼와브로커를구성하고,인터넷에떠다니는예제를참고해서컨슈머/프로듀서애플리케이션을띄우고나면나름의메시지파이프라인을완성할수있기때문이다.하지만우리의카프카를사용하는개발자는여러요구사항을쏟아낸다.가령"이메시지는절대유실되면안돼요!"부터,"메시지를S3에넣고싶은데,저희가직접클라이언트를개발/운영해야하나요?"나"자꾸이상한메시지가유입되어서클라이언트가죽어요!"까지!게다가잘동작하던카프카클러스터도때때로말썽을피운다.이처럼카프카는이론과실전의차이가하늘과땅만큼,어쩌면그이상일수도있다.
이책에는단단한이론사이에자리한저자의실전운영경험이분명하게녹아있다.그렇기에이책을통해카프카를시작하는사람은카프카생태계의지식과운영에대한실마리를얻을수있고,이미운영하고있는사람에겐더욱안정적이고고도화된카프카운영을위한발판을마련해줄것이다.
-김대호/우아한형제들클라우드플랫폼개발팀

카프카의설치부터운영까지의모든과정을담고있어서카프카를처음접하는사람이어도하나씩실습을따라해보면손쉬운구축과운영이가능합니다.특히클라우드환경에서실습을제공하여패러다임변화에맞게빠르게실무에적용해볼수있다는점이좋았습니다.카프카를다루는데필요한기본개념부터,실무에서사용하는다양한운영환경구축까지많은실습을통해저자자신이쌓아온풍부한운영경험과핵심기술적노하우를독자들과나누고자하는목표가눈에띕니다.카프카를처음시작하는분이거나전문가가되고싶어하는분들에게많은도움이될것입니다.
-이상진/카카오하둡엔지니어링파트