🌳 고급 백엔드
카프카(Kafka)가 뭔가요?
쉽게 이해하기
우체국의 대형 물류 센터 같아요. 수많은 택배(메시지)가 들어오면, 분류해서 각 목적지로 빠르게 보내죠. 카프카는 초당 수백만 건의 데이터를 받아서 여러 서비스로 전달할 수 있어요.
핵심 정리
대규모 데이터 스트림을 실시간으로 처리하는 메시지 시스템이에요.
자세히 알아보기
카프카는 LinkedIn에서 만든 분산 메시지 큐 시스템이에요. 엄청난 양의 데이터를 실시간으로 주고받아야 하는 환경에서 쓰여요. 로그 수집, 이벤트 스트리밍, 마이크로서비스 간 통신 등에 많이 사용되죠.
카프카의 핵심 개념은 '토픽(Topic)'이에요. 데이터를 주제별로 분류하는 채널 같은 거죠. 프로듀서(Producer)가 토픽에 메시지를 발행하면, 컨슈머(Consumer)가 그 토픽을 구독해서 메시지를 받아요. 여러 컨슈머가 같은 토픽을 동시에 읽을 수 있고, 메시지는 디스크에 저장되니까 나중에 다시 읽을 수도 있어요.
예를 들어, 쇼핑몰에서 주문이 들어오면 '주문 토픽'에 이벤트를 발행해요. 결제 서비스, 재고 서비스, 배송 서비스가 각각 이 토픽을 구독해서 자기 할 일을 처리하죠. 한 서비스가 느려져도 다른 서비스에 영향을 안 주니까, 시스템이 튼튼해져요.
카프카는 수평 확장이 쉬워서, 트래픽이 늘어나면 서버를 더 추가하면 돼요. 넷플릭스, 우버, 에어비앤비 같은 대기업들이 실시간 데이터 처리에 카프카를 쓰고 있어요.