Sun Java System Message Queue 3.7 UR1 기술 개요

기능 목록

표 B–1 Message Queue 기능

기능 

설명 및 참조 

관리 도구 

Message Queue 서비스에는 대상, 트랜잭션, 영구 가입, 관리 대상 객체 저장소, 사용자 저장소, JDBC 호환 데이터 저장소와 서버 인증서를 관리하기 위한 GUI 및 명령줄 도구가 포함되어 있습니다. 

참조

관리 도구

Sun Java System Message Queue 3.7 UR1 관리 설명서의 1 장, Administrative Tasks and Tools

인증 

브로커와 연결하려는 사용자를 인증합니다.

Message Queue 서비스를 사용하여 사용자는 사용자 저장소에 저장된 값과 사용자 이름 및 비밀번호를 확인하여 브로커에 연결할 수 있습니다. 저장소는 Message Queue 또는 LDAP 저장소(LDAP v2 또는 v3 프로토콜)와 함께 제공되는 플랫 파일 저장소일 수 있습니다. 

사용 방법

  1. 사용자 저장소를 만들거나 기본 인스턴스를 사용합니다.

  2. imqusermgr 도구를 사용하여 저장소를 채웁니다.

참조

인증 및 권한 부여

Sun Java System Message Queue 3.7 UR1 관리 설명서의 7 장, Managing Security

권한 부여 

특정 작업을 수행하도록 사용자에게 권한을 부여합니다.

Message Queue 서비스를 사용하여 사용자 및 사용자 그룹이 수행할 수 있는 작업을 지정하는 액세스 제어 등록 정보 파일을 만들 수 있습니다. 클라이언트가 연결을 만들거나 제작자 또는 소비자를 만들거나 대기열을 찾는 경우 브로커는 이 파일을 확인합니다. 

사용 방법

브로커 인스턴스에 대해 자동으로 만들어진 액세스 제어 등록 정보 파일을 편집합니다. 

참조

인증 및 권한 부여

Sun Java System Message Queue 3.7 UR1 관리 설명서의 7 장, Managing Security

자동 재연결 

관리자는 연결 실패 시 자동 재연결을 사용할 수 있도록 연결 팩토리 관리 대상 객체의 연결 속성을 설정합니다. 같은 브로커로 다시 연결되거나 또는 클러스터가 사용 중이면 클러스터 내의 다른 브로커로 다시 연결될 수 있습니다. 재연결 시도 횟수 및 시도 간격을 지정할 수 있습니다. 클러스터된 브로커의 경우 브로커 목록을 통한 반복 횟수 및 특정 순서로 목록 반복 여부를 지정할 수 있습니다.

참조

연결 서비스

Sun Java System Message Queue 3.7 UR1 관리 설명서의 8 장, 관리 대상 객체 관리

브로커 클러스터 

관리자는 브로커 인스턴스를 브로커 클러스터로 그룹화하여 많은 브로커 인스턴스 간의 클라이언트 연결 및 메시지 전달의 균형을 조정할 수 있습니다.

사용 방법

  1. 클러스터에 있는 각 브로커의 클러스터 구성 등록 정보를 지정합니다. 구성 파일을 사용하거나 각 브로커의 등록 정보를 설정하여 지정할 수 있습니다.

  2. 마스터 브로커가 있으면 마스터 브로커를 시작합니다.

  3. 클러스터에 있는 다른 브로커를 시작합니다.

참조

4 장, 브로커 클러스터

Sun Java System Message Queue 3.7 UR1 관리 설명서의 9 장, Working With Broker Clusters

브로커 구성 

관리자는 Message Queue 서비스 성능을 조정하도록 브로커 등록 정보를 설정할 수 있습니다. 여기에는 라우팅 서비스, 지속성 서비스, 보안, 모니터링 및 관리 대상 객체 관리가 포함됩니다. 

참조

3 장, Message Queue 서비스

Sun Java System Message Queue 3.7 UR1 관리 설명서의 4 장, Configuring a Broker

C 클라이언트 지원 

C 클라이언트는 Message Queue 메시징 서비스를 사용하여 메시지를 보내고 받을 수 있습니다. C API에서는 기존 C 및 C++ 응용 프로그램이 JMS 기반 메시징에 참여할 수 있습니다. 

Message Queue의 C API는 관리 대상 객체, 맵, 스트림 또는 객체 메시지 본문 유형, 분산 트랜잭션 및 대기열 브라우저 사용한다는 점을 제외하면 표준 JMS 기능의 대부분을 지원하는 C 클라이언트 런타임에서 지원됩니다. 또한 C 클라이언트 런타임은 대부분의 Message Queue 엔터프라이즈 기능을 지원하지 않습니다.

참조

Java 및 C 클라이언트

Sun Java System Message Queue 3.7 UR1 Developer’s Guide for C Clients

압축 메시지 

Java 클라이언트는 전송 중인 메시지를 클라이언트 런타임에서 압축하도록 메시지 등록 정보를 설정할 수 있습니다. 소비자측의 런타임에서 소비자에게 메시지를 전달하기 전에 메시지의 압축을 풉니다. 압축 메시지가 실제로 성능을 향샹시키는지를 결정하는 데 사용할 수 있는 추가 등록 정보가 제공됩니다.

참조

메시지 본문

Sun Java System Message Queue 3.7 UR1 Developer’s Guide for Java ClientsManaging Message Size

구성 가능한 지속성 

관리자는 Message Queue 또는 Oracle 8i와 같은 JDBC 호환 데이터베이스와 함께 제공되는 파일 기반 영구 저장소를 사용하도록 브로커를 구성할 수 있습니다.

사용 방법

파일 시스템 영구 저장소 또는 JDBC 호환 저장소와 관련된 브로커 등록 정보를 설정합니다. 

참조

지속성 서비스

Sun Java System Message Queue 3.7 UR1 관리 설명서Configuring a Persistent Data Store

구성 가능한 물리적 대상 

관리자는 대상을 만들 때 물리적 대상 등록 정보를 설정하여 일부 메시징 동작을 정의할 수 있습니다. 다음 동작은 모든 대상에 대해 구성할 수 있습니다. 소비되지 않은 최대 메시지 수 또는 그 메시지에 허용되는 최대 메모리 양, 메모리 제한에 도달한 경우 브로커가 거부해야 하는 메시지, 최대 제작자 및 소비자 수, 최대 메시지 크기, 일괄적으로 전달되는 최대 메시지 수, 대상이 로컬 소비자에게만 전달 가능한지 여부, 대상의 사용 불능 메시지를 사용 불능 메시지 대기열로 이동 가능한지 여부  

참조

대상 및 라우팅 서비스

Sun Java System Message Queue 3.7 UR1 관리 설명서의 6 장, Managing Physical Destinations

연결 핑 

관리자는 연결 팩토리 속성을 설정하여 클라이언트 런타임에서 브로커로의 핑 작업 빈도를 지정할 수 있습니다. 이렇게 하면 클라이언트는 실패한 연결을 우선적으로 감지할 수 있습니다.

참조

연결 서비스

Sun Java System Message Queue 3.7 UR1 관리 설명서Connection Services

사용 불능 메시지 대기열 

Message Queue 메시지 서비스는 사용 불능 메시지 대기열을 만들어 만료되거나 브로커에서 처리할 수 없는 메시지를 보관합니다. 대기열의 내용을 확인하여 시스템 성능을 모니터링하거나 조정하고 시스템 성능 관련 문제를 해결할 수 있습니다.

참조

대상 및 라우팅 서비스

Sun Java System Message Queue 3.7 UR1 관리 설명서의 6 장, Managing Physical Destinations

HTTP 연결 

Java 클라이언트는 브로커와의 HTTP 연결을 생성할 수 있습니다.

HTTP 전송을 사용하면 방화벽을 통해 메시지를 전달할 수 있습니다. Message Queue는 웹 서버 환경에서 실행되는 HTTP 터널 서블릿을 사용하여 HTTP 지원을 구현합니다. 클라이언트가 생성하는 메시지는 클라이언트 런타임에서 HTTP 요청으로 래핑된 다음 HTTP를 통해 방화벽을 거쳐 터널 서블릿으로 전달됩니다. 터널 서블릿은 HTTP 요청으로부터 JMS 메시지를 추출하고 TCP/IP를 통해 메시지를 브로커로 전달합니다.  

사용 방법

  1. 웹 서버에 HTTP 터널 서블릿을 배포합니다.

  2. 브로커의 httpjms 연결 서비스를 구성하고 브로커를 시작합니다.

  3. HTTP 연결을 구성합니다.

  4. 브로커로 HTTP 연결을 가져옵니다. (Java 클라이언트만 해당)

참조

브로커에 연결

Sun Java System Message Queue 3.7 UR1 관리 설명서의 부록 C, HTTP/HTTPS 지원

대화형 모니터링 

관리자는 imqcmd metrics 명령을 사용하여 원격으로 브로커를 모니터링할 수 있습니다. 모니터링된 데이터에는 JVM 메트릭, 브로커 메시지 흐름, 연결, 연결 자원, 메시지, 대상 메시지 흐름, 대상 소비자, 대상 자원 사용이 포함됩니다.

참조

모니터링 서비스

Sun Java System Message Queue 3.7 UR1 관리 설명서의 10 장, Monitoring a Broker

J2EE 자원 어댑터 

Message Queue는 J2EE 호환 Application Server로 플러그인될 수 있는 자원 어댑터를 제공합니다. Message Queue를 JMS 공급자로 사용하여 Application Server는 안정적인 비동기식 메시지를 통해 Application Server에서 상호 작용할 수 있는 분산 구성 요소 실행이라는 J2EE 요구 사항을 충족합니다.

사용 방법

어댑터 속성을 설정하여 어댑터를 구성합니다. 

참조

J2EE Application Server 지원

Sun Java System Message Queue 3.7 UR1 관리 설명서의 17 장, JMS Resource Adapter Property Reference

JNDI 서비스 공급자 지원 

클라이언트는 JNDI API를 사용하여 관리 대상 객체를 조회할 수 있습니다. 

관리자는 imqobjmgr 유틸리티를 사용하여 JNDI를 통해 액세스 가능한 객체 저장소에서 관리 대상 객체를 추가, 나열, 업데이트하고 삭제할 수 있습니다.

참조

관리 도구

Sun Java System Message Queue 3.7 UR1 관리 설명서의 8 장, 관리 대상 객체 관리

LDAP 서버 지원 

관리자는 관리 대상 객체 저장소와 인증 및 권한 부여에 필요한 사용자 정보 저장을 위해 LDAP 서버를 사용할 수 있습니다. 기본적으로 Message Queue는 이러한 데이터를 위해 파일 기반 저장소를 제공합니다. 

관리 대상 객체 사용 방법

  1. 공급업체에서 제공한 도구를 사용하여 사용자 저장소를 채우고 관리합니다.

  2. LDAP 관련 브로커 등록 정보를 설정합니다.

  3. 관리 사용자에 대한 액세스 제어를 설정합니다.

참조

보안 서비스

Sun Java System Message Queue 3.7 UR1 관리 설명서의 7 장, Managing Security

사용자 저장소 사용 방법

  1. 공급업체에서 제공한 도구를 사용하여 LDAP 서버를 설정합니다.

  2. LDAP 관련 브로커 등록 정보를 설정하여 초기 컨텍스트 및 저장소 위치를 정의합니다.

  3. LDAP 서버 작업을 보호하기 위한 LDAP 관련 브로커 등록 정보를 설정합니다.

참조

Sun Java System Message Queue 3.7 UR1 관리 설명서의 7 장, Managing Security

메모리 자원 관리 

관리자는 다음 동작을 구성할 수 있습니다.

  1. 최대 제작자 수, 메시지의 최대 크기 및 하나의 메시지에 대한 최대 크기를 지정하도록 대상에서 등록 정보를 설정합니다.

  2. 메시지 흐름을 제어하도록 대상에서 등록 정보를 설정합니다.

  3. 각 대상에 대한 메시지 흐름을 관리하도록 대상에서 등록 정보를 설정합니다.

  4. 해당 브로커의 모든 대상에서 메시지 제한을 지정하도록 브로커에서 등록 정보를 설정합니다.

  5. 브로커가 메모리 과부하 방지 조치의 수위를 더 높이게 되는, 사용 가능 시스템 메모리의 임계값을 지정하도록 브로커에서 등록 정보를 설정합니다. 조치는 다음과 같이 메모리 자원 상태에 따라 달라집니다.

참조

대상 및 라우팅 서비스

Sun Java System Message Queue 3.7 UR1 관리 설명서의 4 장, Configuring a Broker

메시지 압축 

개발자는 메시지를 보내기 전에 클라이언트 런타임에서 메시지를 압축하도록 메시지 헤더 등록 정보를 설정할 수 있습니다. 클라이언트 런타임은 소비자에게 메시지를 전달하기 전에 메시지의 압축을 풉니다.

참조

메시지 등록 정보

Sun Java System Message Queue 3.7 UR1 Developer’s Guide for Java ClientsMessage Compression

클라이언트에 대한 메지시 흐름 제어 

관리자나 개발자는 다양한 흐름 제한 및 측정 체계를 지정하여 페이로드 및 제어 메시지의 충돌을 최소화하고 그로 인해 메시지의 처리량을 최대화하도록 연결을 구성할 수 있습니다.

사용 방법

연결 팩토리 관리 대상 객체의 흐름 제어 속성을 설정(관리자)하거나 연결 팩토리의 흐름 제어 등록 정보를 설정(개발자)합니다.  

참조

연결 팩토리 및 연결

Sun Java System Message Queue 3.7 UR1 관리 설명서Connection Services

Sun Java System Message Queue 3.7 UR1 관리 설명서연결 팩토리 속성

메시지 기반 모니터링 API 

Java 클라이언트는 모니터링 API를 사용하여 사용자 정의 모니터링 응용 프로그램을 만들 수 있습니다. 모니터링 응용 프로그램은 특수한 메트릭 주제 대상에서 메트릭 메시지를 검색하는 소비자입니다.

사용 방법

  1. 메트릭 모니터링 클라이언트를 작성합니다.

  2. 브로커의 메트릭 메시지 제작자를 구성하도록 브로커 등록 정보를 설정합니다.

  3. 메트릭 주제 대상에 대한 액세스 제어를 설정합니다.

  4. 모니터링 클라이언트를 시작합니다.

참조

모니터링 서비스

Sun Java System Message Queue 3.7 UR1 Developer’s Guide for Java Clients의 4 장, Using the Metrics Monitoring API

Sun Java System Message Queue 3.7 UR1 관리 설명서의 10 장, Monitoring a Broker

다중 소비자로의 대기열 전달 

클라이언트는 특정 대기열에 대해 여러 소비자를 등록할 수 있습니다.

관리자는 대기열에 대한 최대 활성 소비자 수 및 최대 백업 소비자 수를 지정할 수 있습니다. 브로커는 시스템 크기를 조정할 수 있도록 등록된 소비자들 간에 로드 균형을 조정하면서 메시지를 분산합니다. 

사용 방법

물리적 대상 등록 정보인 maxNumActiveConsumersmaxNumBackupConsumers를 설정합니다.

참조

지점간 메시징

Sun Java System Message Queue 3.7 UR1 관리 설명서의 15 장, Physical Destination Property Reference

안정적인 데이터 지속성 

안정성을 얻으려면 imq.persist.file.sync.enabled 등록 정보를 true로 설정하여 운영 체제에서 데이터를 영구 저장소에 동기식으로 기록해야 합니다. 이렇게 하면 시스템 중단으로 인한 데이터 손실을 방지할 수 있지만 성능은 저하됩니다. 데이터가 손실되지는 않지만 클러스터된 브로커에서 현재 이 데이터를 공유하지 않으므로 클러스터 내의 다른 브로커가 사용할 수 없게 됩니다. 시스템 백업 시 브로커는 안정적으로 작업을 다시 시작할 수 있습니다.

참조

지속성 서비스

Sun Java System Message Queue 3.7 UR1 관리 설명서Persistence Properties

보안 연결 

클라이언트는 TCP/IP 및 HTTP 전송을 통해 SSL(Secure Socket Layer) 표준에 기반한 메시지를 안전하게 전송할 수 있습니다. 이러한 SSL 기반 연결 서비스를 사용하면 클라이언트와 브로커 간에 전송되는 메시지를 암호화할 수 있습니다. 

SSL 지원은 자체 서명된 서버 인증서를 기반으로 합니다. Message Queue는 개인/공용 키 쌍을 생성하고 자체 서명 인증서에 공용 키를 포함시키는 유틸리티를 제공합니다. 이 인증서는 브로커와의 연결을 요청하는 클라이언트로 전달되고 클라이언트는 해당 인증서를 사용하여 암호화된 연결을 설정합니다.

사용 방법

  1. 자체 서명되었거나 서명된 인증서를 생성합니다.

  2. 보안 서비스를 사용하도록 설정합니다.

  3. 브로커를 시작합니다.

  4. 클라이언트 보안 연결 등록 정보를 구성하고 클라이언트를 실행합니다.

참조

브로커에 연결

보안 서비스

Sun Java System Message Queue 3.7 UR1 관리 설명서의 7 장, Managing Security

Sun Java System Message Queue 3.7 UR1 Developer’s Guide for C ClientsWorking With Secure Connections

SOAP 지원 

클라이언트는 SOAP(XML) 메시지를 받을 수 있으며 받은 메시지를 JMS 메시지로 래핑한 다음 Message Queue를 이용해 JMS 메시지처럼 교환할 수 있습니다.

클라이언트는 특수 서블릿을 사용하여 SOAP 메시지를 받고, 유틸리티 클래스를 사용하여 SOAP 메시지를 JMS 메시지로 래핑하며, 다른 유틸리티 클래스를 사용하여 JMS 메시지에서 SOAP 메시지를 추출할 수 있습니다. 클라이언트는 표준 SAAJ 라이브러리를 사용하여 SOAP 메시지를 어셈블 및 역어셈블할 수 있습니다. 

참조

SOAP 메시지 작업

“Working With SOAP Message,” Sun Java System Message Queue 3.7 UR1 Developer’s Guide for Java Clients의 5 장, Working with SOAP Messages

스레드 관리 

관리자는 특정 연결 서비스에 할당된 최대 및 최소 스레드 수를 지정할 수 있습니다. 또한, 관리자는 유휴 연결 전용 스레드를 다른 연결에서 사용하도록 허용하는 공유 스레드 모델을 사용하여 연결 서비스에서 처리 능력을 증가시킬 수 있는지 여부도 결정할 수 있습니다.

사용 방법

연결 서비스 스레드 관련 등록 정보를 설정합니다. 

참조

스레드 풀 관리

Sun Java System Message Queue 3.7 UR1 관리 설명서의 4 장, Configuring a Broker

조정 가능한 성능 

관리자는 메모리 사용, 스레딩 자원, 메시지 흐름, 연결 서비스, 안정성 매개 변수 및 메시지 처리량과 시스템 성능에 영향을 미치는 기타 요소를 조정하도록 브로커 등록 정보를 설정할 수 있습니다

참조

모니터링 서비스

Sun Java System Message Queue 3.7 UR1 관리 설명서Monitoring Services

Sun Java System Message Queue 3.7 UR1 관리 설명서의 11 장, Analyzing and Tuning a Message Service