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