실시간 비동기 스트리밍 솔루션 Kafka의 기본부터 확장 응용까지 라는 부제를 가지고 있는 이 책에서는 카프카 메시지 큐(버전 1.0.0)의 컨슈머, 프로듀서, 주키퍼, 카프카 모니터링, 카프카 매니저 등의 개념과 운영에 대해서 설명하고, 확장하여 카프카 스트림즈 API, 카프카SQL, 파일비트, 나이파이, 키반, 엘라스틱서치, 구글 펍/섭, 아마존 키네시스, 도커 등의 키워드를 설명하고 있어요.
출판
- 저자 : 고승범, 공용준
- 출판사 : 책만
- 출간일 : 2018.04.26
목차
- 1부 카프카를 시작하며
- 1장 카프카란 무엇인가
- 2장 카프카와 주키퍼 설치
- 2부 기본 개념과 운영 가이드
- 카프카 디자인
- 카프카 프로듀서
- 카프카 컨슈머
- 카프카 운영 가이드
- 3부 카프카의 확장과 응용
- 카프카를 활용한 데이터 파이프라인 구축
- 카프카 스트림즈 API
- 카프카 SQL을 이용한 스트리밍 처리
- 그 밖의 클라우드 기반 메시징 서비스
- 부록 도커를 이용한 카프카 설치
개인평
빅데이터 플랫폼 고도화 과정의 일환으로 RabbitMQ 3.0.1 로 운영해 오던 메시지 큐를 Kafka 로 전환하게 되었어요. 실시간 메시지 큐는 데이터의 길목으로 장애 발생시 서비스에 파급력이 큰 부분이기에, 한번 더 확인하자는 취지로 책을 구매했어요.
저 같은 경우 항상 새로운 어플리케이션을 도입 할때 가장 어려운 점은 Best Practice 찾는 것이예요. 이건 정답이 없고 각각의 플랫폼에 따라 달라지는 것이니 많은 테스트 와 시행착오를 거치게 되는 부분이죠. 이 시간을 줄여 줄 수 있는 플랫폼 성격에 맞는 Best Practice 에 대한 가이드를 찾았을때는 소화제를 먹은 것처럼 뻥 뚤리는 시원함이 느껴집니다.
대부분의 기술 문서에서는 어플리케이션의 설계 개념 및 각각의 설정 값들이 하는 역할들을 설명하고 있지만, 어떤 설정이 구축하려는 플랫폼에 적합한 설정인지를 결정하는 일은 개념을 이해하는 것 보다도 더 어려운 일 같아요. 사실 카프카의 개념에 대해서는 책이 아니여도 이해하기 어려운 부분은 아니예요. Best Practice, 이것이 제가 이 책을 선택한 이유 이기도 합니다.
역시나 책에서는 다년간 Kafka 운영 실무를 경험하신 저자로 설정값들의 가이드를 제공하고 있어요. 이 책에 아쉬운 점이 있다면 그것도 이 부분 입니다. 책에서는 Kafka 외에서 메시지 처리 및 데이터 파이프 라인에 관련한 키워들 다루고 있는데요. 이부분이 Kafka 구축 및 운영의 실무에서 발생할 수 있는 다양한 경우에 대한 가이드 였더라면… 하는 아쉬움 입니다. 혹은 Kafka 가 그만큼 심플해서 다루지 않으셨을지도 모르겠네요.
예를들어 메시지의 순서가 중요한 플랫폼, 유실을 감안할 수 있는 플랫폼, 절대 유실되어서는 안되는 플랫폼, 처리량이 많은 플랫폼, 처리량이 적은 플랫폼 등의 구축하려는 플랫폼들의 성격에 맞는 설정에 대한 Best Practice 가이드라던가. 이 책에서도 설명하고 있지만 더 많은 장애 상황들에 대한 가이드가 있었다면 책의 출판 목적에 더 부합하지 않았을까? 하는 개인적인 생각입니다.
가까이 두고 자주 꺼내볼 책은 아닐지라도, 시간이 아깝지는 않은 책이예요. Kafka 도입을 생각하신다면 이 책을 추천합니다.