이 장에서 Kafka를 어떤 수준으로 이해하면 좋을까

Kafka라는 이름을 처음 들으면 많은 독자가 거대한 메시지 시스템, 분산 스트리밍 플랫폼, 고성능 브로커 같은 설명을 떠올릴 수 있다.

하지만 chap03에서는 그렇게 넓게 잡을 필요는 없다.

이 장에서 Kafka는 가장 단순하게 말하면, 서비스들이 직접 맞붙지 않고 메시지를 주고받게 해 주는 통로다.

왜 이 프로젝트에서 Kafka가 필요한가

chap03의 주문 생성 흐름은 더 이상 주문 서비스 혼자 끝낼 수 없다.

재고, 배송, 주문 완료까지 여러 단계가 얽혀 있고, 그 결과를 다시 전체 흐름으로 묶어야 한다.

이때 Kafka는 아래 역할을 맡는다.

image.png

즉, Kafka는 비즈니스 로직을 처리하는 주체가 아니라, 메시지가 오가는 통로이자 연결 구조다.

이 프로젝트에서 Kafka는 어디에 붙어 있는가

chap03에는 k8s/kafka 리소스가 따로 있다.

즉, Kafka는 이제 단순 라이브러리가 아니라, 시스템 안의 별도 구성 요소로 등장한다.

또 각 서비스에는 Kafka 관련 설정과 producer/consumer 구조가 함께 들어간다.