표 B-1 Message Queue 기능
|
기능
|
설명 및 참조
|
|
관리 도구
|
Message Queue 서비스에는 대상, 트랜잭션, 영구 가입, 관리 대상 객체 저장소, 사용자 저장소, JDBC 호환 데이터 저장소와 서버 인증서를 관리하기 위한 GUI 및 명령줄 도구가 포함되어 있습니다.
참조
관리 도구
Message Queue 관리 설명서의 "관리 작업 및 도구"
|
|
인증
|
브로커에 연결하려는 사용자를 인증합니다.
Message Queue 서비스를 사용하여 사용자는 사용자 저장소에 저장된 값과 사용자 이름 및 비밀번호를 확인하여 브로커에 연결할 수 있습니다. 저장소는 Message Queue 또는 LDAP 저장소(LDAP v2 또는 v3 프로토콜)와 함께 제공되는 플랫 파일 저장소일 수 있습니다.
사용 방법
- 사용자 저장소를 만들거나 기본 인스턴스를 사용합니다.
- imqusermgr 도구를 사용하여 저장소를 채웁니다.
참조
인증 및 권한 부여
Message Queue 관리 설명서의 "보안 관리"
|
|
권한 부여
|
특정 작업을 수행하도록 사용자에게 권한을 부여합니다.
Message Queue 서비스를 사용하여 사용자 및 사용자 그룹이 수행할 수 있는 작업을 지정하는 액세스 제어 등록 정보 파일을 만듭니다. 클라이언트가 연결을 만들거나 생성자 또는 사용자를 만들거나 대기열을 찾는 경우 브로커는 이 파일을 확인합니다.
사용 방법
브로커 인스턴스에 대해 자동으로 만들어진 액세스 제어 등록 정보 파일을 편집합니다.
참조
인증 및 권한 부여
Message Queue 관리 설명서의 "보안 관리"
|
|
자동 재연결
|
관리자는 연결 실패 시 자동 재연결을 사용할 수 있도록 연결 팩토리 관리 대상 객체의 연결 속성을 설정합니다. 같은 브로커로 다시 연결될 수 있고 클러스터가 사용 중이면 클러스터 내의 다른 브로커로 다시 연결될 수 있습니다. 재연결 시도 횟수 및 시도 간격을 지정할 수 있습니다. 클러스터된 브로커의 경우 브로커 목록을 통한 반복 횟수 및 특정 순서로 목록 반복 여부를 지정할 수 있습니다.
참조
연결 서비스
Message Queue 관리 설명서의 "관리 대상 객체 관리," "관리 대상 객체 속성 참조"
|
|
브로커 클러스터
|
관리자는 브로커 인스턴스를 브로커 클러스터로 그룹화하여 많은 브로커 인스턴스 간의 클라이언트 연결 및 메시지 전달의 균형을 조정할 수 있습니다.
사용 방법
- 클러스터에 있는 각 브로커의 클러스터 구성 등록 정보를 지정합니다. 구성 파일을 사용하거나 각 브로커의 등록 정보를 설정하여 지정할 수 있습니다.
- 마스터 브로커가 있으면 마스터 브로커를 시작합니다.
- 클러스터에 있는 다른 브로커를 시작합니다.
참조
4장, "브로커 클러스터"
Message Queue 관리 설명서의 "클러스터를 이용한 작업"
|
|
브로커 구성
|
관리자는 Message Queue 서비스 성능을 조정하도록 브로커 등록 정보를 설정할 수 있습니다. 여기에는 라우팅 서비스, 지속성 서비스, 보안, 모니터링 및 관리 대상 객체 관리가 포함됩니다.
참조
3장, "Message Queue 서비스"
Message Queue 관리 설명서의 "브로커 구성," "브로커 등록 정보 참조"
|
|
C 클라이언트 지원
|
C 클라이언트는 Message Queue 메시징 서비스를 사용하여 메시지를 보내고 받을 수 있습니다. C API를 사용하여 기존 C 응용 프로그램 및 C++ 응용 프로그램은 JMS 기반 메시징에 참여할 수 있습니다.
Message Queue의 C API는 관리 대상 객체, 맵, 스트림 또는 객체 메시지 본문 유형, 분산 트랜잭션 및 대기열 브라우저를 사용한다는 점을 제외하면 표준 JMS 기능의 대부분을 지원하는 C 클라이언트 런타임에서 지원됩니다. 또한 C 클라이언트 런타임은 대부분의 Message Queue 엔터프라이즈 기능을 지원하지 않습니다.
참조
Java 및 C 클라이언트
C 클라이언트용 Message Queue 개발 안내서
|
|
압축 메시지
|
Java 클라이언트는 전송 중인 메시지를 클라이언트 런타임이 압축하도록 메시지 등록 정보를 설정할 수 있습니다. 사용자측의 런타임이 사용자에게 메시지를 전달하기 전에 메시지의 압축을 풉니다. 압축 메시지가 실제로 성능을 향샹시키는지를 결정하는 데 사용할 수 있는 추가 등록 정보가 제공됩니다.
참조
메시지 본문
Java 클라이언트용 Message Queue 개발 안내서의 "Message Queue Clients: Design and Features(Message Queue 클라이언트: 설계 및 기능)"
|
|
구성 가능한 지속성
|
관리자는 Message Queue 또는 Oracle 8i와 같은 JDBC 호환 데이터베이스와 함께 제공되는 파일 기반 영구 저장소를 사용하도록 브로커를 구성할 수 있습니다.
사용 방법
파일 시스템 영구 저장소 또는 JDBC 호환 저장소와 관련된 브로커 등록 정보를 설정합니다.
참조
지속성 서비스
Message Queue 관리 설명서의 "브로커 구성"
|
|
구성 가능한 물리적 대상
|
관리자는 대상을 만들 때 물리적 대상 등록 정보를 설정하여 일부 메시징 동작을 정의할 수 있습니다. 다음 동작은 모든 대상에 대해 구성할 수 있습니다.- 메모리 제한에 도달한 경우 브로커가 거부해야 하는 메시지에 대해 허용되는 사용되지 않은 최대 메시지 수 또는 최대 메모리 양, 최대 생산자 및 사용자 수, 최대 메시지 크기, 일괄적으로 전달되는 최대 메시지 수, 대상이 로컬 사용자에게만 전달 가능한지 여부, 대상의 사용 불능 메시지를 사용 불능 메시지 대기열로 이동 가능한지 여부 등
참조
대상 및 라우팅 서비스
Message Queue 관리 설명서의 "물리적 대상 관리," "물리적 대상 등록 정보 참조"
|
|
연결 핑
|
관리자는 연결 팩토리 속성을 설정하여 클라이언트 런타임에서 브로커로의 핑 작업 빈도를 지정할 수 있습니다. 이렇게 하면 클라이언트는 실패한 연결을 우선적으로 감지할 수 있습니다.
참조
연결 서비스
Message Queue 관리 설명서의 "연결 팩토리 속성"
|
|
사용 불능 메시지 대기열
|
Message Queue 메시지 서비스는 사용 불능 메시지 대기열을 만들어 만료되거나 브로커에서 처리할 수 없는 메시지를 보관합니다. 대기열의 내용을 확인하여 시스템 성능을 모니터링하거나 조정하고 시스템 성능 관련 문제를 해결할 수 있습니다.
참조
대상 및 라우팅 서비스
Message Queue 관리 설명서의 "물리적 대상 관리"
|
|
HTTP 연결
|
Java 클라이언트는 브로커로 HTTP 연결을 만들 수 있습니다.
HTTP 전송을 사용하면 방화벽을 통해 메시지를 전달할 수 있습니다. Message Queue는 웹 서버 환경에서 실행되는 HTTP 터널 서블릿을 사용하여 HTTP 지원을 구현합니다. 클라이언트에서 생성한 메시지는 클라이언트 런타임에 의해 HTTP 요청으로 래핑되고 HTTP에서 방화벽을 통해 터널 서블릿으로 전달됩니다. 터널 서블릿은 HTTP 요청으로부터 JMS 메시지를 추출하고 TCP/IP를 통해 메시지를 브로커로 전달합니다.
사용 방법
- HTTP 터널 서블릿을 웹 서버에 배포합니다.
- 브로커의 httpjms 연결 서비스를 구성하고 브로커를 시작합니다.
- HTTP 연결을 구성합니다.
- 브로커로 HTTP 연결을 가져옵니다. (Java 클라이언트에만 해당)
참조
브로커에 연결
Message Queue 관리 설명서의 부록 C "HTTP 지원 활성화"
|
|
대화식 모니터링
|
관리자는 imqcmd metrics 명령을 사용하여 원격으로 브로커를 모니터링할 수 있습니다. 모니터링된 데이터에는 JVM 메트릭, 브로커 메시지 흐름, 연결, 연결 자원, 메시지, 대상 메시지 흐름, 대상 사용자, 대상 자원 사용이 포함됩니다.
참조
모니터링 서비스
Message Queue 관리 설명서의 "메시지 서버 모니터링"
|
|
J2EE 자원 어댑터
|
Message Queue는 J2EE 호환 Application Server로 플러그 인될 수 있는 자원 어댑터를 제공합니다. Message Queue를 JMS 공급자로 사용하여 Application Server는 안정적인 비동기식 메시지를 통해 Application Server에서 상호 작용할 수 있는 분산 구성 요소 실행이라는 J2EE 요구 사항을 충족합니다.
사용 방법
어댑터 속성을 설정하여 어댑터를 구성합니다.
참조
J2EE Application Server 지원
Message Queue 관리 설명서의 "JMS 자원 어댑터 속성 참조"
|
|
JNDI 서비스 공급자 지원
|
클라이언트는 JNDI API를 사용하여 관리 대상 객체를 조회할 수 있습니다.
관리자는 imqobjmgr 유틸리티를 사용하여 JNDI를 통해 액세스 가능한 객체 저장소에서 관리 대상 객체를 추가, 나열, 업데이트 및 삭제할 수 있습니다.
참조
관리 도구
Message Queue 관리 설명서의 "명령 참조"
|
|
LDAP 서버 지원
|
관리자는 관리 대상 객체 저장소와 인증 및 권한 부여에 필요한 사용자 정보 저장을 위해 LDAP 서버를 사용할 수 있습니다. 기본적으로 Message Queue는 이러한 데이터를 위해 파일 기반 저장소를 제공합니다.
관리 대상 객체 사용 방법
- 공급업체에서 제공한 도구를 사용하여 사용자 저장소를 채우고 관리합니다.
- LDAP 관련 브로커 등록 정보를 설정합니다.
- 관리 사용자에 대한 액세스 제어를 설정합니다.
참조
Message Queue 관리 설명서의 "보안 관리"
사용자 저장소 사용 방법
- 공급업체에서 제공한 도구를 사용하여 LDAP 서버를 설정합니다.
- LDAP 관련 브로커 등록 정보를 설정하여 초기 컨텍스트 및 저장소 위치를 정의합니다.
- LDAP 서버 작업 보안에 관련된 LDAP 관련 브로커 등록 정보를 설정합니다.
참조
보안 서비스
Message Queue 관리 설명서의 "관리 대상 객체 관리"
|
|
메모리 자원 관리
|
관리자는 다음 동작을 구성할 수 있습니다.
- 최대 생성자 수, 메시지의 최대 크기 및 하나의 메시지에 대한 최대 크기를 지정하도록 대상에서 등록 정보를 설정합니다.
- 메시지 흐름을 제어하도록 대상에서 등록 정보를 설정합니다.
- 각 대상에 대한 메시지 흐름을 관리하도록 대상에서 등록 정보를 설정합니다.
- 해당 브로커의 모든 대상에서 메시지 제한을 지정하도록 브로커에서 등록 정보를 설정합니다.
- 브로커가 메모리 과부하 방지를 위한 조치의 수위를 점점 더 높이게 되는 사용 가능한 시스템 메모리의 임계값을 지정하도록 브로커에서 등록 정보를 설정합니다. 조치는 다음과 같이 메모리 자원 상태에 따라 달라집니다.
참조
대상 및 라우팅 서비스
Message Queue 관리 설명서의 "브로커 구성," "브로커 등록 정보 참조," "물리적 대상 등록 정보 참조"
|
|
메시지 압축
|
개발자는 메시지 헤더 등록 정보를 설정하여 메시지를 보내기 전에 클라이언트 런타임이 메시지를 압축하도록 할 수 있습니다. 클라이언트 런타임은 사용자에게 메시지를 전달하기 전에 메시지의 압축을 풉니다.
참조
메시지 등록 정보
Java 클라이언트용 Message Queue 개발 안내서의 "Message Compression(메시지 압축)"
|
|
클라이언트에 대한 메지시 흐름 제어
|
관리자나 개발자는 다양한 흐름 제한 및 측정 체계를 지정하여 페이로드 및 제어 메시지의 충돌을 최소화하고 그로 인해 메시지의 처리량을 최대화하도록 연결을 구성할 수 있습니다.
사용 방법
연결 팩토리 관리 대상 객체의 흐름 제어 속성을 설정(관리자)하거나 연결 팩토리의 흐름 제어 등록 정보를 설정(개발자)합니다.
참조
연결 팩토리 및 연결
Message Queue 관리 설명서의 "관리 대상 객체 관리," "관리 대상 객체 속성 참조"
|
|
메시지 기반 모니터링 API
|
Java 클라이언트는 모니터링 API를 사용하여 사용자 정의 모니터링 응용 프로그램을 만들 수 있습니다. 모니터링 응용 프로그램은 특수한 주제 대상에서 메트릭 메시지를 검색하는 사용자입니다.
사용 방법
- 메트릭 모니터링 클라이언트를 작성합니다.
- 브로커의 메트릭 메시지 생성자를 구성하도록 브로커 등록 정보를 설정합니다.
- 메트릭 주제 대상에 대한 액세스 제어를 설정합니다.
- 모니터링 클라이언트를 시작합니다.
참조
모니터링 서비스
Java 클라이언트용 Message Queue 개발 안내서의 "Using the Metrics Monitoring API(메트릭 모니터링 API 사용"
Message Queue 관리 설명서의 "메시지 서버 모니터링"
|
|
다중 사용자로의 대기열 전달
|
클라이언트는 특정 대기열에 대해 여러 사용자를 등록할 수 있습니다.
관리자는 대기열에 대한 최대 활성 사용자 수 및 최대 백업 사용자 수를 지정할 수 있습니다. 브로커는 시스템 크기를 조정할 수 있도록 로드 균형을 조정하며 메시지를 등록된 사용자에게 분산합니다.
사용 방법
물리적 대상 등록 정보인 maxNumActiveConsumers와 maxNumBackupConsumers를 설정합니다.
참조
지점간 메시징
Message Queue 관리 설명서의 "물리적 대상 등록 정보" 및 "다중 사용자 대기열 성능"
|
|
안정적인 데이터 지속성
|
안정성을 얻으려면 imq.persist.file.sync.enabled 등록 정보를 true로 설정하여 운영 체제에서 데이터를 영구 저장소에 동기식으로 기록해야 합니다. 이렇게 하면 시스템 충돌로 인한 데이터 손실을 방지할 수 있지만 성능은 저하됩니다. 데이터가 손실되지 않지만 클러스터된 브로커에서 현재 공유하지 않기 때문에 (클러스터 내의) 다른 브로커에 대해 데이터를 사용할 수 없습니다. 시스템 백업 시 브로커는 안정적으로 작업을 다시 시작할 수 있습니다.
참조
지속성 서비스
Message Queue 관리 설명서의 "브로커 등록 정보 참조"
|
|
보안 연결
|
클라이언트는 TCP/IP 및 HTTP 전송을 통해 SSL(Secure Socket Layer) 표준에 기반한 메시지를 안전하게 전송할 수 있습니다. 이러한 SSL 기반 연결 서비스를 사용하면 클라이언트와 브로커 사이에서 보내는 메시지를 암호화할 수 있습니다.
SSL 지원은 자체 서명한 서버 인증서에 기반합니다. Message Queue는 개인/공용 키 쌍을 생성하고 자체 서명 인증서에 공용 키를 포함시키는 유틸리티를 제공합니다. 이 인증서는 브로커와의 연결을 요청하는 클라이언트로 전달되고 클라이언트는 해당 인증서를 사용하여 암호화된 연결을 설정합니다.
사용 방법
- 자체 서명되거나 서명된 인증서를 생성합니다.
- 보안 서비스를 사용합니다.
- 브로커를 시작합니다.
- 클라이언트 보안 연결 등록 정보를 구성하고 클라이언트를 실행합니다.
참조
브로커에 연결
보안 서비스
Message Queue 관리 설명서의 "보안 관리"
Java 클라이언트용 Message Queue 개발 안내서
C 클라이언트용 Message Queue 개발 안내서
|
|
SOAP 지원
|
클라이언트는 SOAP(XML) 메시지를 받을 수 있고 받은 메시지를 JMS 메시지로 래핑하여 JMS 메시지를 사용하기만 하면 Message Queue를 사용하여 메시지를 교환할 수 있습니다.
클라이언트는 특수 서블릿을 사용하여 SOAP 메시지를 받고, 유틸리티 클래스를 사용하여 SOAP 메시지를 JMS 메시지로 래핑하고, 다른 유틸리티 클래스를 사용하여 JMS 메시지에서 SOAP 메시지를 추출할 수 있습니다. 클라이언트는 표준 SAAJ 라이브러리를 사용하여 SOAP 메시지를 어셈블 및 역어셈블할 수 있습니다.
참조
SOAP 메시지 작업
Java 클라이언트용 Message Queue 개발 안내서의 "Working With SOAP Message(SOAP 메시지를 이용한 작업)"
|
|
스레드 관리
|
관리자는 특정 연결 서비스에 할당된 최대 및 최소 스레드 수를 지정할 수 있습니다. 또한, 관리자는 유휴 연결 전용 스레드를 다른 연결에서 사용하도록 허용하는 공유 스레드 모델을 사용하여 연결 서비스에서 처리 능력을 증가시킬 수 있는지 여부도 결정할 수 있습니다.
사용 방법
연결 서비스 스레드 관련 등록 정보를 설정합니다.
참조
스레드 풀 관리
Message Queue 관리 설명서의 "브로커 구성"
|
|
조정 가능한 성능
|
관리자는 메모리 사용, 스레딩 자원, 메시지 흐름, 연결 서비스, 안정성 매개 변수 및 메시지 처리량과 시스템 성능에 영향을 미치는 기타 요소를 조정하도록 브로커 등록 정보를 설정할 수 있습니다.
참조
모니터링 서비스
Message Queue 관리 설명서의 "메시지 서버 모니터링" 및 "메시지 서비스 분석 및 조정"
|