Kafka, 언제 그리고 왜 써야 할까?
·
Infra
Kafka란?Kafka는 서비스에서 발생한 이벤트를 전달하고 저장하는 분산 이벤트 스트리밍 플랫폼입니다. 주문, 결제처럼 서비스에서 발생한 일을 Kafka에 기록해두면, 필요한 다른 서비스가 이를 읽어 각자 처리할 수 있습니다.kafka의 개념 자체는 DB에 로그 테이블을 만들고 각 서비스가 폴링하는 방식으로도 흉내 낼 수 있습니다. 다만 이 경우 Consumer가 늘어날수록 테이블에 폴링 쿼리가 늘어나 DB에 부하가 쌓이고, Partition 같은 병렬 처리 구조나 보관 기간 삭제 정책도 직접 구현해야 합니다. Kafka는 이런 것들을 시스템 레벨에서 이미 구현해놓은 "이벤트 로그 전용 인프라"에 가깝습니다. 그래서 Consumer가 1~2개 정도인 소규모 시스템은 DB Outbox 테이블로도 충분하고..