728x90
Kafka의 특징
- 분산 처리 시스템(확장성, 고가용성이 높음)
- 노드 장애에 대한 대응이 좋음
- 디스크 파일 시스템에 데이터를 저장함으로 영속성을 보장
- 라우팅 기능이 없음
- 메시지 전달 보장을 할 경우 처리속도 저하(리더와 팔로워에게 응답승인이 필요함)
RabbitMQ의 특징
- 동기 / 비동기 구현 가능
- 유연한 라우팅이 가능(exchanger가 메시지를 queue에 적절히 분배)
- Broker 중심적
Kafka가 필요한 경우
- 높은 처리량 및 고성능/분산/스케일 아웃이 중요한 경우
- 가용성이 높아야 하는 경우
- 메시지 전달 보장이 필수적이지 않은 경우
- 메시지 처리 순서가 보장되어야 하는 경우
- 스트리밍 데이터 처리가 필요한 경우
- 메시지 영속성이 필요한 경우
RabbitMQ가 필요한 경우
- 빠르고 쉽게 메시지 큐 시스템을 구축하고자 하는 경우
- 메시지 전달 보정이 필수인 경우
- 처리 순서가 보장되지 않아도 되는 경우
- 메시지 영속성이 꼭 필요하지 않은 경우
728x90
'kafka' 카테고리의 다른 글
Apache Kafka의 기본 아키텍쳐 (0) | 2022.08.20 |
---|---|
Kafka 등장 배경 (0) | 2022.08.20 |
댓글