메시지 큐에 대해 알아보자
메시지 큐
: 프로세스 또는 프로그램 인스턴스가 데이터를 서로 교환할 때 사용하는 통신 방법
: 메시지 지향 미들웨어 (MOM, Message Oriented Middleware)를 구현한 시스템
: 별도의 공정 작업을 연기할 수 있는 유연성을 제공하여 SOA (Service Oriented Architecture)
- 메시지 지향 미들웨어
: 비동기 메시지를 사용하는 응용 프로그램들 사이에서 데이터를 송수신 하는 것
- 메시지큐의 실체
: 메시지를 임시로 저장하는 버퍼
: 메시지를 송수신 하기 위해 프로그램 사이에 임시 저장 공간을 두고 필요할 때 전송
메시지 큐의 메시지 전송과정
1. 메시지 생산자 (producer)가 메시지를 메시지 큐에 추가
2. 소비자 (consumer)가 메시지 큐에서 메시지를 검색하고 이를 통한 작업 수행이 완료될때까지 메시지 큐에 메시지를 저장
3. 각 메시지는 하나에 소비자에 의해 한 번만 처리할 수 있음 (일대일 통신)
메시지 큐를 적용하기전 주의사항
: 시스템 목적에 맞는 메시지 큐를 선정해야함
: 메시지큐에 저장된 메시지의 처리는 보장되지 않음 (비동기성)
: 때문에 부가적인 기능에 사용하는 것이 바람직
- 메시지 큐를 사용하는 경우
: 이메일 전송, 블로그 포스팅 등 비동기로 나중에 처리해도 되는 작업
메시지 큐의 이점
- 비동기
: 큐에 넣어두고 나중에 처리할 수 있어 병목을 일으키지 않음
- 낮은 결합도
: 생산자 서비스와 소비자 서비스가 독립적으로 행동함으로써 서비스 간 결합도가 낮아짐
- 확장성
: 서비스 확장이 가능
- 탄력성
: 소비자 서비스가 다운되더라도 메시지가 메시지 큐에 남아있기 때문에 처리할 수 있음
- 보장성
: 메시지 큐에 저장되는 모든 메시지가 소비자 서비스에게 전달된다는 일반적인 보장을 제공
Refference