Kafka(아파치 카프카)
여러 시스템 사이에서 발생하는 대량의 이벤트 데이터를, 유실 없이 안정적으로 실시간에 가깝게 주고받을 수 있게 해주는 대표적인 분산 이벤트 스트리밍 플랫폼입니다.
한눈에 보는 정의
Kafka(아파치 카프카)는 대량의 이벤트 데이터를 실시간으로 안정적으로 주고받을 수 있게 해주는, 분산 이벤트 스트리밍 플랫폼입니다.
자세히 알아보기
- 예문: "주문이 발생할 때마다 Kafka로 이벤트를 전송하면, 결제·배송·통계 시스템이 각자 필요한 시점에 그 이벤트를 읽어가 처리한다."
- 데이터를 보내는 Producer(데이터 생산자) (생산자)와 받는 Consumer(데이터 소비자) (소비자)를 직접 연결하지 않고, 그 사이에 Kafka를 두어 서로의 존재를 몰라도 데이터를 주고받을 수 있게 하는 Message Broker(메시지 브로커) (메시지 브로커) 역할을 합니다.
- 한 번 전송된 메시지는 Topic(메시지 토픽) (토픽)에 일정 기간 보관되어, 여러 소비자가 각자의 속도로 나중에 읽어가도 되고, 문제가 생기면 다시 읽어 재처리할 수도 있습니다.
- 대량의 로그 수집, 실시간 이벤트 기반 아키텍처, CDC(변경 데이터 캡처) (CDC) 데이터 전달 등 다양한 데이터 파이프라인의 중심축으로 널리 쓰입니다.