Liberty 임베디드 JMS 메시징 제공자

Liberty 메시징은 Liberty의 임베디드 메시징 기능입니다. 이는 Liberty 내에서 실행되는 구성 가능하고 유연한 동적 JMS 메시징 엔진입니다. Liberty 메시징은 JMS 1.1 및 JMS 2.0 스펙을 모두 준수하며, 지점간 및 발행/구독 메시징 모델을 모두 지원합니다.

Liberty 메시징은 Liberty 런타임 내에서만 실행되며, 사용자는 Liberty 기능 관리자를 사용하여 필요에 따라 메시징 기능을 사용하거나 사용하지 않을 수 있습니다. 메시징 런타임은 구성도가 높으므로, 런타임에 대한 기본 메시징 기능을 사용하도록 설정하고 요구사항에 따라 동적으로 추가적인 메시징 기능(예: 보안, 트랜잭션 및 원격 통신)을 사용할 수 있습니다.

Liberty 메시징은 다음과 같은 두 파트로 분류될 수 있습니다.
  • JMS 서버 런타임: 연결, 트랜잭션, 지속성, 보안 등에 모든 런타임 기능을 제공합니다.
  • JMS 클라이언트 연결: JMS 클라이언트가 동기 및 비동기 메시징 활동을 수행할 수 있도록 자원 어댑터 지원을 제공합니다.

메시징 엔진은 Liberty의 싱글톤 인스턴스로서 실행되며, 이는 특정 시간에 Liberty 커널 내에서 단 하나의 메시징 엔진만 실행될 수 있음을 의미합니다.

Liberty 메시징 아키텍처

Liberty 메시징은 기본적으로 구성도가 높으며 동적입니다. Liberty 메시징은 사용자 요구사항에 따라 사용하거나 사용하지 않을 수 있는 OSGi 번들로서 구현된 다수의 기타 내부 메시징 하위 컴포넌트로 구성됩니다. OSGi 서비스는 컴포넌트 라이프사이클 및 종속 항목과 구성의 삽입을 관리하는 데 사용됩니다.
그림 1. Liberty 메시징 아키텍처
다이어그램이 기본 Liberty 메시징 서비스 컴포넌트를 보여줌

메시징 런타임과 기타 메시징 하위 컴포넌트는 OSGi 프레임워크 내에서 OSGi 번들로 실행됩니다. 이에 따라 Liberty 커널은 사용에 따라 메시징 번들을 로드하거나 로드 해제할 수 있습니다. 예를 들어, 사용자가 메시징 보안을 사용하지 않는 경우 메시징 보안과 관련된 번들은 초기화되지 않습니다.

애플리케이션 배치

Liberty 메시징은 세 가지 유형의 JMS 애플리케이션 연결을 지원합니다. 다음 방법 중 하나로 애플리케이션을 실행할 수 있습니다.
  • 메시징 엔진을 호스트 중인 Liberty에서
  • 메시징 엔진을 호스팅 중이 아닌 다른 Liberty에서
  • WebSphere® Application Server Traditional에서
그림 2. 애플리케이션 배치 모델
다이어그램이 Liberty 메시징이 지원하는 세 가지 유형의 JMS 애플리케이션 연결을 보여줌

Liberty 메시징은 애플리케이션에 대해 프로세스내네트워크 TCP/IP 연결을 모두 지원합니다. 메시징 엔진이 실행되고 있는 동일 JVM에서 JVM 애플리케이션을 배치하는 경우, 애플리케이션은 TCP/IP 계층을 거치지 않고 프로세스내 메시징 엔진과 통신할 수 있습니다. 이 경우 애플리케이션이 메시지를 보내고 받을 때 상당한 성능 이점을 얻을 수 있습니다.

메시징 엔진을 호스팅하지 않는 Liberty에서 실행 중인 JMS 애플리케이션은 메시징 엔진과 통신하기 위해 TCP/IP를 통해 연결해야 합니다.

메시지 처리

대상(큐 또는 주제)은 항상 대상이 정의되어 있는 메시징 엔진에 현지화됩니다. 애플리케이션이 대상에서 메시지를 보내거나 받아야 하는 경우에는 항상 대상을 현지화하는 메시징 엔진에 연결되어야 합니다.
그림 3. Liberty 메시징에서 메시지 처리
Liberty 메시징이 메시지를 처리하는 방식을 보여주는 다이어그램

주제의 유형을 표시하는 아이콘 개념 주제

파일 이름: cwlp_msg_embedded.html