ActiveMQ
는 JMS
클라이언트를 활용해서 자바로 작성된 오픈 소스 메시지 브로커
입니다.
클라이언트나 서버의 통신을 위한 다양한 엔터프라이즈 기능을 제공합니다.
동기 방식
은 요청이 들어오면 처리가 완료될 때까지 블로킹 상태에 빠집니다.
그래서 처리 속도가 느리고, 성능 이슈가 자주 발생합니다.
반면, 메시지 큐
는 요청과 처리가 분리됩니다.
요청은 계속해서 브로커의 큐에 쌓이고, 처리는 연결된 컨슈머에서 별도로 실행됩니다.
JMS
는 메시지 통신을 위한 자바 기반의 MOM (Message Oriented Middleware)
API입니다.
2001년 1.0 버전이 배포된 이후, 2013년 2.0 버전이 배포됐습니다.
액티브엠큐는 브로커의 역할로 전달된 메시지를 중개하는 역할을합니다.
요청 메시지는 액티브엠큐를 통해 다시 컨슈머에 연결된 리스너로 전달됩니다.
또한 컨슈머에서 데이터를 처리 후에도 추가 메시지를 통해 추가 작업이 가능합니다.