Infrastructure
MQ(Message Queue) 란?
Hero_O
2022. 8. 22. 20:13
메시지 큐 ( MQ : Message Queue )
메시지 큐란?
MOM(Message Oriented Middleware)은 프로세스 혹은 인스턴스 사이에 비동기 통신 방법이다. 이를 구현한 시스템을 메시지 큐(Message Queue) 라고 한다. 이 때, 메시지는 요청, 응답, 오류 메시지등을 의미한다.
MQ의 특징
- MSA(Micro Service Architecture)에서 서비스 ↔ 서비스 간 비동기 통신
- 메시지를 큐(Queue)에 임시 저장하고, 해당 메시지가 소비자(Consumer)에 의해 처리 된 후 삭제된다.
- 큐는 메시지를 임시 저장하는 버퍼라고 할 수 있고, 메시지 큐는 메시지 생산자(Producer)와 소비자(Consumer)간의 일대일 통신 방법이다.
- 메시지가 큐에 저장된 메시지의 처리 시점을 보장하지는 않는다.
- 요청이 왔을 때 핵심적인 작업은 우선적으로 처리하고, 처리를 유예할 수 있는 작업은 메시지 큐에 저장해두고 소비자가 처리할 수 있을 때 꺼내서 처리하도록 하여 동시처리 성능을 증가시킨다.
MQ의 장점
- 비동기 ( Asynchronous )
- 동시에 너무 많은 메시지를 처리하게 되면 병목현상이 발생할 수 있다. 이 때 MQ를 사용하면 큐(Queue)에 다 수의 메시지를 저장하고 나중에 처리하는 비동기 방식을 통해 병목 현상을 해결할 수 있다.
- 예를 들어, 특정 시간에 모든 유저에게 PUSH를 보내게 되면, 그 작업 외의 작업을 처리하기는 힘들어진다. 이를 큐에 임시 저장 해두고 비동기적으로 처리하면 더 많은 요청을 동시처리 할 수 있게 한다.
- 낮은 결합도 ( Decoupling )
- 생산자 서비스와 소비자 서비스가 서로 독립적으로 작업하게 한다.
- 탄력성 ( Resilience )
- 메시지 큐에 메시지가 저장되어 있어 서비스의 문제가 있어 중단되더라도 재 시작할 수 있고, 일부가 실패 하더라도 전체에 영향을 주지 않는다.
- 보증 ( Gurarantees )
- 메시지 큐에 저장된 모든 메시지가 소비자에게 전달 될 것을 보장하여 작업이 처리될 것을 보증한다.
- 확장성 ( Scalable )
- 다 수의 프로세스가 큐에 메시지를 보낼 수 있어 확장이 가능하다.
더보기
참조
[오픈소스] 메시지큐(Message Queue) 알아보기
메시지 큐 개념을 다시 잡아보고자 학습용도로 작성한 포스팅입니다. 출처는 http://zzong.net/post/3 입니다. 메시지 지향 미들웨어(Meesage Oriented Middleware: MOM)은 비동기 메시지를 사용하는 다른 응용
12bme.tistory.com
메시지 큐에 대해 알아보자!
메시지 큐란 메시지 큐(Message Queue)는 프로세스 또는 프로그램 간에 데이터를 교환할 때 사용하는 통신 방법 중에 하나로, 메시지 지향 미들웨어(Message Oriented Middleware:MOM…
tecoble.techcourse.co.kr