Kafka Redis RabbitMQ

2025. 2. 4. 10:19· CS지식
목차
  1. Kafka vs Redis vs RabbitMQ 비교표
  2. Kafka 사용 추천 (대규모 데이터 스트리밍)
  3. ✅ Redis 사용 추천 (빠른 메시지 처리 & 캐싱)
  4. ✅ RabbitMQ 사용 추천 (전통적인 메시지 큐 & 안정적인 메시지 전달)
  5. 📌 결론: Kafka, Redis, RabbitMQ의 차이점
728x90

Kafka vs Redis vs RabbitMQ 비교표

주요 역할 분산 메시지 스트리밍 플랫폼 메모리 기반 메시지 브로커 & 캐시 전통적인 메시지 브로커
메시지 처리 방식 Pub/Sub (로그 저장 및 스트리밍) Pub/Sub + 메시지 큐 메시지 큐 (AMQP 프로토콜)
메시지 순서 보장 ✅ Partition 내에서 순서 보장 ❌ 기본적으로 순서 보장 안 됨 ✅ 기본적으로 순서 보장
메시지 저장 여부 ✅ 영구 저장 (디스크 저장 가능) ❌ 기본적으로 메모리 저장 (설정 필요) ✅ 영구 저장 가능 (설정 필요)
메시지 소비 방식 여러 Consumer가 같은 메시지 읽기 가능 Queue 기반 (단일 Consumer가 메시지 소비) Queue 기반 (단일 Consumer가 메시지 소비)
확장성 ✅ 매우 뛰어남 (수천 개의 Consumer 가능) ❌ 단일 노드에 종속 (클러스터링 어려움) ⚠️ 중간 정도 (Cluster 가능하지만 Kafka만큼 확장성 높지 않음)
성능 고성능 (초당 수백만 건 가능) 매우 빠름 (메모리 기반, ms 단위 처리) 빠르지만 Kafka보다는 성능 낮음
장애 발생 시 메시지 처리 ✅ Consumer가 메시지 재처리 가능 ❌ 기본적으로 메시지 유실 가능 (Persistence 필요) ✅ 메시지 Ack/Nack으로 복구 가능
주요 사용 사례 로그 처리, 이벤트 스트리밍, 빅데이터 분석 빠른 캐싱, Pub/Sub, 단순한 메시지 처리 비동기 작업 처리 (Celery, 금융 시스템 등)

Kafka 사용 추천 (대규모 데이터 스트리밍)

  • 실시간 이벤트 스트리밍, 로그 처리, 데이터 파이프라인 구축
  • 대량의 메시지를 순서대로 유지하며 저장하고 싶을 때
  • 여러 Consumer가 같은 메시지를 구독해야 할 때 (Pub/Sub)
  • **데이터 영속성(Persistence)**이 중요할 때

💡 사용 예제: 실시간 로그 분석, 주문 처리 시스템, IoT 데이터 스트리밍


✅ Redis 사용 추천 (빠른 메시지 처리 & 캐싱)

  • 짧은 시간 유지되는 메시지를 빠르게 전달해야 할 때
  • 고성능, 저지연 메시징이 필요할 때 (ms 단위 응답)
  • 캐싱, 세션 관리, Pub/Sub, 실시간 랭킹 처리
  • 메시지 유실이 크게 중요하지 않을 때

💡 사용 예제: 채팅 시스템, 실시간 랭킹, 캐싱, 빠른 작업 큐


✅ RabbitMQ 사용 추천 (전통적인 메시지 큐 & 안정적인 메시지 전달)

  • 신뢰성이 중요한 메시지 처리 (금융 시스템, 주문 처리 등)
  • 메시지를 한 번만 전달하고 정확한 순서로 처리해야 할 때
  • 메시지 유실을 방지하고, 작업 실패 시 재시도(Ack/Nack)가 필요할 때

💡 사용 예제: Celery 비동기 작업 처리, 금융 거래 시스템, 이메일 큐


📌 결론: Kafka, Redis, RabbitMQ의 차이점

  • Kafka → 대규모 데이터 스트리밍 & 이벤트 처리 (Pub/Sub)
  • Redis → 빠른 캐싱 & 실시간 메시지 처리 (단순 Pub/Sub & Queue)
  • RabbitMQ → 신뢰성이 필요한 메시지 큐 (AMQP 기반, 정확한 메시지 전달)
저작자표시 비영리 (새창열림)

'CS지식' 카테고리의 다른 글

스피링 부트 내장 톰캣  (0) 2024.10.17
락  (2) 2024.10.10
InnoDB  (0) 2024.10.10
Nginx vs APACHE  (1) 2024.10.08
DB Index  (0) 2024.10.08
  1. Kafka vs Redis vs RabbitMQ 비교표
  2. Kafka 사용 추천 (대규모 데이터 스트리밍)
  3. ✅ Redis 사용 추천 (빠른 메시지 처리 & 캐싱)
  4. ✅ RabbitMQ 사용 추천 (전통적인 메시지 큐 & 안정적인 메시지 전달)
  5. 📌 결론: Kafka, Redis, RabbitMQ의 차이점
'CS지식' 카테고리의 다른 글
  • 스피링 부트 내장 톰캣
  • 락
  • InnoDB
  • Nginx vs APACHE
두잇 두두
두잇 두두
읽기 쉬운 코드를 짜기 위해 노력합니다. 좋은 코드는 단순하고 이해하기 쉬워야 한다고 생각합니다.
두두 DB읽기 쉬운 코드를 짜기 위해 노력합니다. 좋은 코드는 단순하고 이해하기 쉬워야 한다고 생각합니다.
두잇 두두
두두 DB
두잇 두두
전체
오늘
어제
  • 분류 전체보기 (135)
    • CS지식 (7)
    • 시스템 설계 (5)
    • 자료구조&알고리즘 (36)
      • 자료구조 (1)
      • 백준 (13)
      • 프로그래머스 (15)
      • 인프런 (2)
    • Python (9)
      • Docs (3)
      • 실험실 (2)
    • Django (36)
      • orm (10)
      • view (3)
      • model (3)
      • admin (3)
      • restframework (13)
      • error (1)
      • utils (2)
    • Java (2)
      • JPA (3)
    • AI (1)
      • AI가 쓴 글 (1)
    • Git (4)
    • Linux (1)
    • 개발자로써 (8)
      • 회고 (1)
    • 문화생활 (0)
      • 여행 (0)
    • 도서📚 (0)
      • 일반 도서 (0)
      • 개발 도서 (0)
    • 프론트 (1)
      • snippet (1)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
두잇 두두
Kafka Redis RabbitMQ
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.