Message Queue (메시지 큐)
* 메시징
- 장점
1. 이기종 시스템과 애플리케이션을 통합할 때 주로 사용
메시징을 사용하여 서로 다른 플랫폼으로 구현된 시스템끼리 통신이 가능
2. 비동기적 메시지를 사용함으로써, 수신자가 메시지를 받아서 처리할 때까지 송신자가 기다리지 않아도 된다.
메시징 시스템은 메시지의 생산자와 소비자가 직접 만나지 않고 메시지 서비스를 통해 메시지를 교환한다.
따라서 생산자와 소비자의 결합성이 낮으므로 확장성이 높고 유연한 시스템을 만들 수 있다.
이 때, 메시지 발신자와 수신자는 서로 분리되어 있으며 이 사이의 목적지라는 가상채널을 통하여 메시지를 교환한다. 해당 목적지를 구독한 클라이언트가 메시지를 받는다.
메시징 클라이언트(발신자)-> 메시지 브로커 -> 메시징 클라이언트(수신자)
메시지 브로커에서 관심이 있다고 등록한 다수의 메시지 클라이언트에게 메시지를 전달한다.
* MOM
메시지 지향 미들웨어 (메시징 서비스를 제공하는 시스템)
둘 이상의 애플리케이션이 메시지 형식으로 정보를 교환할 수 있는 미들웨어
비동기 메시지를 사용하는 다른 응용 프로그램 사이에서의 데이터 송수신
메시지 생산자와 소비자 사이에서 메시지를 중재할 수 있는 (라우팅하고 전달할 수 있는) 메시징 서버 존재
이 때, 메시지 발신자와 수신자는 서로 분리되어 있으며 이 사이의 목적지라는 가상채널을 통하여 메시지를 교환한다. 해당 목적지를 구독한 클라이언트가 메시지를 받는다.
메시징 클라이언트(발신자)-> 메시지 브로커 -> 메시징 클라이언트(수신자)
메시지 브로커에서 관심이 있다고 등록한 다수의 메시지 클라이언트에게 메시지를 전달한다.
- 메시지 전달 방식
1. Point To Point (큐 기반)
2. 출판-구독
특정한 Topic에 발행, 구독할 수 있다.
메시지를 생성하는 생성자가 특정 토픽에 대하여 메시지를 발행하면, 해당 토픽을 구독하고 있는 클라이언트들(수신자)에게 메시지가 전달된다.
어떤 메시징 클라이언트에서 특정 Topic에 대하여 메시지를 발행하면 그 Topic을 구독하고 있는 다른 메시징 클라이언트들은 발행된 메시지를 받을 수 있다.
메시징 클라이언트(발신자)-> 메시지 브로커 -> 메시징 클라이언트(수신자)
* JMS
자바에서 MOM이 메시지를 발신, 수신하는데 사용되는 메시지 서비스 API