이벤트 스트리밍은 이제 특정 회사나 특정 기술 하나로 설명할 수 없는 분야가 되었다. 어떤 조직은 Kafka를 쓰고, 어떤 조직은 Redpanda로 이미 옮겨갔으며, 또 어떤 조직은 Pulsar의 멀티테넌시 구조를 필요로 한다. 이 책은 Kafka 하나만 깊이 파는 대신, 분산 로그라는 하나의 아이디어가 서로 다른 플랫폼에서 어떻게 구현되고 무엇이 달라지는지를 처음부터 끝까지 따라가는 이벤트 스트리밍 아키텍처 입문서다.
1부에서는 이벤트 스트리밍이 왜 필요한지, 메시지 큐와 무엇이 다른지, 브로커와 파티션 같은 핵심 개념이 무엇을 의미하는지부터 차근차근 짚는다. 분산 시스템의 기초 개념 정도만 알고 있어도 첫 페이지부터 편안하게 읽을 수 있도록 구성했다.
2부에서는 Kafka, Redpanda, Pulsar 세 플랫폼의 아키텍처를 나란히 비교한다. Kafka의 KRaft 기반 구조, Redpanda의 thread per core 네이티브 설계, Pulsar의 컴퓨트와 스토리지 분리 구조를 각각 깊이 다루고, 무엇이 더 빠른가가 아니라 어떤 워크로드와 조직 환경에 어떤 구조가 맞는지를 판단하는 기준을 제시한다.
3부에서는 Kafka Streams, Flink, ksqlDB 같은 스트림 처리 도구와 스키마 레지스트리, 데이터 거버넌스, 보안까지 다룬다. 데이터가 흐르는 구조를 아는 것과 그 데이터를 안전하고 일관되게 관리하는 것은 다른 문제이며, 이 부는 그 간극을 메운다.
4부는 실무 적용이다. 파티션을 몇 개로 나눌지, 토픽 이름을 어떻게 지을지, 트래픽이 특정 파티션에 몰리는 문제를 어떻게 풀지 같은 설계 단계의 질문부터, Kafka에서 Redpanda로 옮길 때 무엇을 검증해야 하는지, 장애가 났을 때 무엇을 먼저 확인해야 하는지까지 실제 운영자의 언어로 서술했다.
이 책이 다른 기술서와 다른 점은 근거를 다루는 태도에 있다. 벤더가 제시하는 성능 수치는 있는 그대로 전달하되 그 수치가 어떤 조건에서 나온 것인지 함께 밝히고, 확신이 서지 않는 부분은 버전에 따라 달라질 수 있다는 점을 숨기지 않고 명시했다. 특정 기술을 추천하기 위한 책이 아니라, 독자가 스스로 판단할 수 있도록 재료를 정직하게 늘어놓는 것을 목표로 썼다.
이 책을 다 읽고 나면 여러분은 자신의 조직에 필요한 스트리밍 아키텍처를 스스로 설계하고, 그 선택의 근거를 다른 사람에게 설명할 수 있게 될 것이다.