패스잇
시스템 설계 · 중급

메시지 큐(Message Queue)를 사용하는 이유와 Kafka와 RabbitMQ의 차이를 설명해주세요.

힌트 · 비동기 처리, 시스템 디커플링, Kafka의 로그 기반 스트리밍 vs RabbitMQ의 큐 기반 메시징을 설명해보세요.

비동기확장성KafkaRabbitMQAMQP

모범답안

메시지 큐는 시스템 간의 비동기 통신을 가능하게 해줍니다. 예를 들어, 주문 시스템에서 주문을 받으면, 바로 결제 시스템을 호출하는 대신 메시지 큐에 주문 정보를 넣고, 결제 시스템은 큐에서 메시지를 꺼내 처리하는 방식입니다. 이렇게 하면 주문 시스템은 결제 시스템의 상태에 영향을 받지 않고 빠르게 응답할 수 있습니다.

메시지 큐를 사용하는 주된 이유는 시스템 디커플링과 확장성 확보입니다. 각 시스템이 독립적으로 동작하므로 유지보수가 용이하고, 트래픽 증가에 따라 메시지 큐를 중심으로 시스템을 확장하기 쉬워집니다.

Kafka와 RabbitMQ는 대표적인 메시지 큐 시스템입니다. Kafka는 로그 기반의 스트리밍 플랫폼으로, 대량의 데이터를 실시간으로 처리하는 데 강점을 가집니다. 반면 RabbitMQ는 AMQP 프로토콜을 기반으로 하는 큐 기반 메시징 시스템으로, 복잡한 라우팅과 메시지 전달 규칙을 설정하는 데 유리합니다. Kafka는 데이터 유실 방지에 초점을 맞추고, RabbitMQ는 메시지 전달의 신뢰성에 더 집중한다고 볼 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 시스템 설계 면접 질문

← 시스템 설계 면접 질문 전체 보기