Message Queue란?

유존돌돌이·2022년 3월 21일
0

공부

목록 보기
20/22

Message Queue란?

메시지 큐(Message Queue)는 프로세스 또는 프로그램 간에 데이터를 교환할 때 사용하는 통신 방법 중에 하나로, 메시지 지향 미들웨어(Message Oriented Middleware:MOM)를 구현한 시스템을 의미한다.
메시지 지향 미들웨어란 비동기 메시지를 사용하는 응용 프로그램들 사이에서 데이터를 송수신하는 것을 의미한다. 여기서 메시지란 요청, 응답, 오류 메시지 혹은 단순한 정보 등의 작은 데이터가 될 수 있다.
메시지 큐는 메시지를 임시로 저장하는 간단한 버퍼라고 생각하면 된다.
메시지를 전송 및 수신하기 위해 중간에 메시지 큐를 두는 것이다.

MOM(Message Oriented Middelware) 의 종류

MOM은 MQ를 포괄하고 있고 MQ에는 Kafka, RabbitMQ, ActiveMQ 등

Message Queue 작동방법

  1. 메시지 전송 시 생산자(Producer)로 취급되는 컴포넌트가 메시지를 메시지 큐에 추가
  2. 해당 메시지는 소비자(Consumer)로 취급되는 또 다른 컴포넌트가 메시지를 검색하고 이를 사용해 어떤 작업을 수행할 때까지 메시지 큐에 저장
  3. 각 메시지는 하나의 소비자에 의해 한 번만 처리
    -> 이러한 이유로 메시지 큐를 이용하는 방식을 일대일 통신이라고 부른다.

장점

  1. 비동기(Asynchronous): Queue에 넣어두기 때문에 나중에 처리할 수 있다.
  2. 분리 또는 비동조(Decoupling): 애플리케이션과 분리할 수 있다.
  3. 탄력성(Resilience): 일부가 실패 시 전체에 영향을 받지 않는다.
  4. 과잉(Redundancy): 실패 할 경우 재실행이 가능하다.
  5. 보증(Guarantees): 작업이 처리된 걸 확인할 수 있다.
  6. 확장성(Scalable): 다수의 프로세스들이 큐에 메시지를 보낼 수 있다.

0개의 댓글