[Kafka]헷갈리는 토픽(topic), 이벤트(event), 파티션(partition), 컨슈머(consumer) 정리하기 - 택배 물류 창고로 비유하기
·
Infra/Kafka
카프카는 토픽을 기준으로 이벤트를 저장하고 전달하는데,토픽은 여러 파티션으로 나뉘어져 있어서 여러 컨슈머가 병렬로 읽을 수 있어 처리 속도가 빨라! 카프카는 이벤트를 안전하게 전달해서 여러 서비스가 구독하여 처리하게 해줘. 여기서 이벤트를 분류하고 저장하는 단위를 토픽이라고 하는데, 물리적으로 여러 파티션에 나뉘어 저장할 수 있어서 병렬 처리가 가능해. 토픽에 담긴 개별 메시지를 이벤트라고 불러. 카프카의 주요 개념인 토픽, 이벤트, 파티션을 택배에 비유해보자. 모든 택배가 모이는 물류창고가 있을거야. 이 물류창고에는 여러 컨베이어 벨트가 있고, 이 컨베이어 벨트로 여러 택배 상자들이 있어. 여기서 물류창고 = 토픽, 컨베이어 벨트 = 파티션, 택배 상자 = 이벤트로 비유할 수 있어. 만약 전국의 택배를..
[Kafka]카프카(Apache Kafka)가 왜 필요한걸까? - 커피 주문으로 비유하기
·
Infra/Kafka
카프카는 서비스 간 이벤트를 느슨하게 연결해서,엄청 많은 트래픽을 안전하게 비동기로 처리하면서 확장 가능한 메시지 플랫폼이야.우리가 키오스크에서 커피를 주문한다고 가정해보자. 그럼 커피를 주문함으로 인해, 1. (저장) 서버에 커피 주문이 저장된다. 2. (주방) 주문 내역을 주방으로 전송한다. 3. (재고) 커피 원두, 우유 등 재고를 차감한다. 저장, 주문, 재고 세 가지 일이 동시에 일어나야해. 만약 커피 주문이 엄청 많이 몰려온다면 어떻게 될까? 커피 주문과 동시에 저장, 주문, 재고 처리를 한 번에 하다보면 서버에 주문이 저장되는 데 시간이 걸려 주문 기록이 누락되거나, 주방으로 주문이 전달되는데 지연이 생기거나 재고 차감이 중복되어 마이너스 재고가 발생할 수 있어. 이러한 문제를 해결하기 위해..