Message Queue(MQ)

Solf·2025년 9월 10일

WEB

목록 보기
10/11

Message Queue는 비동기적으로 메세지를 전달하는 시스템으로, Producer가 보낸 메세지Queue라는 자료구조에 임시 저장했다가, Consumer(소비자)가 준비됐을 때 메세지를 꺼내서 처리할 수 있게 해주는 소프트웨어이다.

주요 용어

  • Producer(Publisher): 메세지를 생성해 브로커로 보내는 시스템

  • Broker(중재자): 생산자와 소비자 사이에서 메세지를 저장, 전달, 라우팅하는 소프트웨어 (Queue와 Topic을 관리)

  • Consumer(Subscriber): 브로커로부터 메세지를 받아 사용하는 시스템

  • Queue: 메세지를 일시적으로 저장하는 FIFO 자료구조

  • Topic: 여러 Consumer가 동일 메세지를 받아볼 수 있게 하는 메세지의 논리적 그룹

특징

  • 비동기 통신 : 송신자가 메세지를 보내고 바로 다음 작업으로 넘어갈 수 있다.
  • 시스템간 결합도 감소 : 서비스 간에 직접적인 통신 없이 Queue를 통해 메세지를 주고받으므로, 분산 시스템이나 MSA에서 결합도를 낮출 수 있다.
  • 메세지 보장 : 메세지를 최소 1번 이상, 필요하면 정확히 1번 전달하도록 보장할 수 있다.
  • 오류와 장애 대응 : Consumer이 죽더라도 메세지가 유실되지 않도록 관리된다.

활용처

  • 서비스 사이의 비동기 작업 처리 (결제 처리, 이메일 전송 등)
  • 작업 분산 및 부하 분산 (여러 Consumer가 병렬로 메세지 처리)

예시

  • RabbitMQ
  • Apache Kafka
  • Amazon SQS
profile
CS/Software Engineer

0개의 댓글