Kafka란?
Apache kafka는 서비스 간 데이터를 메시지로 전달하고 저장하는 분산 스트리밍 플랫폼이다.
Kafka를 사용하지 않는 구조
특징
- 서비스 간 직접 호출 (REST API) 방식
- 요청 → 응답 구조 (동기 처리)
- 한 서비스 장애 시 연쇄 장애 발생 가능
문제점
- 서비스 간 강한 결합
- 트래픽 증가 시 병목 발생
- 장애 전파 위험
- 요청 지연 시 전체 시스템 영향
Kafka를 사용하는 구조
특징
- 서비스 간 메시지 기반 비동기 처리
- Producer / Consumer 구조
- 메시지를 kafka에 저장 후 각 서비스가 소비
장점
- 서비스 간 느슨한 결합
- 한 서비스 장애가 다른 서비스에 직접 영향 없음
- 트래픽이 몰려도 kafka가 버퍼 역할 수행
- 확장성 뛰어남
언제 Kafka가 필요한가
- 서비스 간 의존도를 줄이고 싶을 때
- 트래픽이 많고 확장이 필요한 시스템
- 실시간 이벤트 처리 구조가 필요한 경우
'TIL' 카테고리의 다른 글
| TIL - 멀티레포 vs 멀티모듈 vs 모놀리식 (0) | 2026.03.31 |
|---|---|
| TIL - CodeRabbit 적용 (0) | 2026.03.30 |
| TIL - Kafka 개념 정리 (0) | 2026.03.28 |
| TIL - FeignClient 정리 (0) | 2026.03.27 |
| TIL - Keycloak 개념 정리 (0) | 2026.03.26 |