Files
2nd/10_Wiki/Topics/Backend/Kafka_&_RabbitMQ.md
T

2.4 KiB

category, tags, title, description, last_updated
category tags title description last_updated
Backend
auto-wikified
technical-documentation
backend
Kafka & RabbitMQ Kafka와 RabbitMQ는 마이크로서비스 아키텍처에서 서비스 간 통신 및 이벤트 기반 처리를 위해 사용되는 대표적인 메시지 브로커(Message Broker) 기술이다 [1, 2]. 2026-05-04

Kafka & RabbitMQ

📌 Brief Summary

Kafka와 RabbitMQ는 마이크로서비스 아키텍처에서 서비스 간 통신 및 이벤트 기반 처리를 위해 사용되는 대표적인 메시지 브로커(Message Broker) 기술이다 [1, 2]. 주로 Spring Boot와 NestJS와 같은 현대적인 백엔드 프레임워크에서 비동기 메시징 큐(Message Queue)를 구현하기 위한 핵심 인프라로 활용된다 [1, 3]. 제공된 소스에서는 두 기술에 대한 깊이 있는 아키텍처 원리보다는 프레임워크와의 통합 지원 여부를 중심으로 간단히 언급되고 있다 [1, 3].

📖 Core Content

  • NestJS에서의 통합 지원: NestJS는 마이크로서비스 간 통신을 위해 내장된 전송 계층(Transport Layer)을 제공하며, 이를 통해 Kafka와 RabbitMQ를 기본적으로 지원한다 [1]. @nestjs/microservices 전송기(Transporters)를 활용하여 프로덕션 수준의 마이크로서비스를 구축할 수 있도록 문서화되어 있다 [2, 3]. 전송 계층의 API가 일관되게 제공되므로, 메시지 브로커 간(예: RabbitMQ에서 Kafka로)의 전환이 비교적 직관적이고 용이하다는 특징이 있다 [1].
  • Spring Boot에서의 통합 지원: 엔터프라이즈 환경에서 널리 쓰이는 Spring Boot는 Spring AMQP를 통해 RabbitMQ를, Spring Kafka를 통해 Kafka를 지원하여 강력한 메시지 큐 시스템을 구성할 수 있도록 돕는다 [3].
  • 한계: 그 외에 두 기술 간의 구체적인 아키텍처 차이, 내부 동작 방식, 메시지 발행/구독(Pub/Sub) 패턴의 세부 구현 등에 대해서는 소스에 관련 정보가 부족합니다.

⚖️ Trade-offs & Caveats

소스에 관련 정보가 부족합니다.

(제공된 문헌에서는 NestJS와 Spring Boot 프레임워크가 Kafka와 RabbitMQ를 연동하여 사용할 수 있다는 사실 외에, 두 메시지 브로커를 도입할 때의 기술적 선택 기준, 최적화 방법, 부작용 및 제약 사항(Trade-off)에 대한 상세한 내용을 다루고 있지 않습니다.)


Last updated: 2026-05-03