Kafka는 이벤트 기반 아키텍처의 인기 있는 기반입니다 — 서비스가 직접 호출이 아니라 이벤트를 통해 통신하는 곳. Kafka의 내구성 있고 확장 가능한 이벤트 로그는 이벤트 기반 시스템, event sourcing, CQRS에 잘 맞습니다.
이벤트 백본으로서의 Kafka
이벤트 기반 아키텍처에서 서비스는 EVENT를 발행하고 반응:
→ 서비스가 Kafka에 이벤트 발행("OrderPlaced", "PaymentReceived")
→ 다른 서비스가 소비하고 반응(결합도 낮음 — producer는 consumer를 모름)
→ Kafka = 서비스를 연결하는 내구성 있고 확장 가능한 EVENT 백본
→ 서비스가 결합도 낮게, Kafka를 통한 이벤트로 통신
Kafka가 이벤트 기반 시스템에 맞는 이유
✓ DECOUPLING → producer와 consumer 독립; producer 변경 없이 consumer 추가
✓ 내구성 있는 이벤트 LOG → 이벤트 저장/재생 가능; 새 서비스가 이력을 읽음; 안정적
✓ 다중 consumer → 많은 서비스가 같은 이벤트에 반응(각 group 독립적으로)
✓ SCALABLE → 높은 이벤트 볼륨 처리; 병렬성을 위한 partition
✓ ORDERING(partition/key별) → 엔티티별 순서 있는 이벤트
