Sun Java 로고     이전      목차      색인      다음     

Sun 로고
Sun Java System Message Queue 3 2005Q1 기술 개요 

4장
메시지 서버

메시지 서버에서 소개된 Message Queue 메시지 서버는 단일 브로커 또는 메시지 경로 지정 및 전달을 수행하기 위해 함께 작동하는 일련의 브로커(브로커 클러스터)로 구성됩니다.

이 장에서는 브로커의 내부 구조를 설명하고 다양한 구성 요소를 설명하며 개발 및 작업 환경에서 이를 구성 및 관리하는 데 필요한 단계를 보여줍니다. 이 장은 다음 내용으로
구성되어 있습니다.

브로커의 기능 부분을 이해하면 원하는 브로커 동작을 구성하고 작업 크기를 조정하며 성능을 최적화하는 데 도움이 될 것입니다. 따라서 이 장은 응용 프로그램 개발자보다는 관리자가 더 관심을 가질 내용입니다.


브로커 구조

메시지 전달을 수행하려면 브로커가 클라이언트와의 통신 채널을 설정하고, 인증 및 권한 부여를 수행하며, 메시지 경로를 올바르게 지정하고, 안정적인 전달을 보장하며, 시스템 성능을 모니터링할 데이터를 제공해야 합니다.

이렇게 복잡한 기능들을 수행하기 위해 브로커는 각각의 전달 과정에서 특별한 역할을 맡는 다양한 내부 구성 요소를 사용합니다. 주요 브로커 구성 요소는 그림 4-1에서 확인할 수 있으며, 표 4-1에서도 간략히 설명합니다. 메시지 라우터 구성 요소가 주요 메시지 경로 지정 및 전달 서비스를 수행하고 다른 구성 요소는 메시지 라우터가 종속되는 중요한 지원 서비스를 제공합니다.

그림 4-1 브로커 구성 요소

브로커의 기능 구성 요소를 보여주는 다이어그램. 구성 요소 및 그 사용에 대해서는 다음 테이블을 참조하십시오.

표 4-1 주요 브로커 구성 요소 및 기능 

구성 요소

설명/기능

연결 서비스

브로커와 클라이언트 사이의 물리적 연결을 관리하면서 받고 보내는 메시지 전송을 담당합니다.

메시지 라우터

메시지 경로 지정 및 전달을 관리합니다. 여기에는 JMS 메시지를 비롯하여 Message Queue 메시징 시스템이 JMS 메시지 전달을 지원하기 위해 사용하는 제어 메시지도 포함됩니다.

지속성 관리자

영구 저장소에 대한 데이터 쓰기를 관리하여 시스템 오류로 인해 JMS 메시지 전달 오류가 발생하지 않게 합니다.

보안 관리자

브로커와의 연결을 요청하는 사용자에게 인증 서비스를 제공하고 인증된 사용자에게 권한 부여 서비스(액세스 제어)를 제공합니다.

모니터링 서비스

브로커를 모니터링 및 관리할 때 사용할 수 있는 다양한 출력 채널에 기록 가능한 메트릭 및 진단 정보를 생성합니다.

브로커를 구성할 때 실제로는 로드 상태, 응용 프로그램 복잡성 등에 따라 브로커 성능을 최적화하기 위해 이러한 서비스를 구성하는 것입니다.


브로커 구성 요소

다음 절에서는 그림 4-1에 표시된 각 브로커 구성 요소와 해당 기능 및 동작을 설명합니다. 각 등록 정보 및 구성 절차에 대해서는 Message Queue 관리 설명서를 참조하십시오.

연결 서비스

Message Queue 브로커는 응용 프로그램 클라이언트 및 관리 클라이언트 모두와의 통신을 지원합니다. 각 연결 서비스는 서비스 유형 및 프로토콜 유형을 통해 지정됩니다.

서비스 유형     서비스가 JMS 메시지 전달(NORMAL)을 제공하는지 또는 관리 도구를 지원하는 Message Queue 관리 서비스(ADMIN)를 제공하는지 지정합니다.

프로토콜 유형     서비스를 지원하는 기본 전송 프로토콜 계층을 지정합니다.

현재 Message Queue 브로커에서 사용할 수 있는 연결 서비스가 표 4-2에 표시되어 있습니다.

표 4-2 브로커가 지원하는 연결 서비스 

서비스 이름

서비스 유형

프로토콜 유형

jms

NORMAL

TCP

ssljms

NORMAL

TLS(SSL 기반 보안)

httpjms(엔터프라이즈판)

NORMAL

HTTP

httpsjms(엔터프라이즈판)

NORMAL

HTTPS(SSL 기반 보안)

admin

ADMIN

TCP

ssladmin

ADMIN

TLS(SSL 기반 보안)

이 연결 서비스 중 어느 것이라도 또는 전부 실행하도록 브로커를 구성할 수 있습니다. 각 연결 서비스는 특정 인증 및 권한 부여(액세스 제어) 기능을 지원합니다(보안 관리자 참조). 각 연결 서비스는 다중 스레드 방식으로서, 다중 연결을 지원합니다.

각 연결 서비스는 특정 포트에서 사용 가능하며, 브로커의 호스트 이름과 포트 번호로 지정됩니다. 포트는 동적으로 할당될 수도 있고 사용자가 연결 서비스에 사용 가능한 포트를 직접 지정할 수도 있습니다. 일반 체계가 그림 4-2에 나타나 있습니다.

그림 4-2 연결 서비스 지원

연결 서비스가 포트 매퍼 및 스레드 풀 관리자와 통신하는 것을 보여주는 다이어그램

포트 매퍼

연결 서비스는 일반 포트 매퍼에 의해 포트에 지정됩니다. 포트 매퍼 자체는 표준 포트 번호 7676에 위치합니다. Message Queue 클라이언트 런타임이 브로커와 연결을 설정할 때 먼저 포트 매퍼에 접속하여 원하는 연결 서비스의 포트 번호를 요청합니다.

jms, ssljms, admin 및 ssladmin 연결 서비스를 구성할 때 이들 연결 서비스에 대하여 정적 포트 번호를 지정하여 포트 매퍼를 대체할 수 있습니다. 하지만 정적 포트는 대개 방화벽을 통한 연결 등 특수 상황에서만 사용되므로(HTTP/HTTPS 지원 참조) 일반적으로 권장되지 않습니다.

스레드 풀 관리자

각 연결 서비스는 다중 스레드 방식으로서, 다중 연결을 지원합니다. 이 연결에 필요한 스레드는 스레드 풀 관리자 구성 요소가 관리하는 스레드 풀에서 유지 관리됩니다. 스레드 풀 관리자를 구성하여 스레드 풀에서 유지 관리되는 최소 스레드 수와 최대 스레드 수를 설정할 수 있습니다. 연결 시 스레드가 필요하면 스레드 풀에 해당 스레드가 추가됩니다. 최소 수를 초과할 경우, 시스템은 최소 임계값에 도달할 때까지 스레드를 종료시켜 여유 스레드를 확보하는 방법으로 메모리 자원을 절약합니다. 스레드 풀의 스레드는 단일 연결 전용으로 사용되거나 필요에 따라 여러 연결에 지정될 수 있습니다.

HTTP/HTTPS 지원

HTTP/HTTPS 지원을 통해 Message Queue 클라이언트는 직접 TCP 연결이 아닌 HTTP 프로토콜을 사용하여 브로커와 상호 작용할 수 있습니다. 클라이언트가 방화벽으로 브로커와 분리되어야 할 경우 방화벽을 통해 통신을 허용하므로 HTTP/HTTPS 서비스를 사용할 수 있습니다.


주

HTTP/HTTPS 지원은 Java 클라이언트에 대해 사용할 수 있지만 C 클라이언트에는 사용할 수 없습니다.


그림 4-3에서는 HTTP/HTTPS 지원과 관련된 주요 구성 요소를 보여줍니다.

그림 4-3 HTTP/HTTPS 지원 구조

HTTP 프록시와 HTTP 터널 서블릿이 방화벽을 통해 메시지를 전달하는 방법을 보여주는 다이어그램. 그림은 텍스트에 설명되어 있습니다.

그림 4-3에 나타난 HTTP와 HTTPS의 구조는 매우 유사합니다. 가장 큰 차이는 HTTPS(httpjms 연결 서비스)의 경우 터널 서블릿이 클라이언트와 브로커 모두에 대해 보안 연결을 갖는다는 점입니다.

Message Queue의 HTTPS 터널 서블릿은 연결을 요청하는 모든 브로커에게 자체 서명된 인증서를 전달합니다. 인증서는 브로커가 HTTPS 터널 서블릿에 대해 암호화된 연결을 설정할 때 사용합니다. 이 연결이 설정되고 나면 Message Queue 클라이언트와 터널 서블릿 사이의 보안 연결을 처리할 수 있습니다.

httpjms 및 httpsjms 서비스는 Message Queue 관리 설명서에 설명된 등록 정보를 사용하여 구성됩니다.

메시지 라우터

지원되는 연결 서비스를 사용하여 클라이언트와 브로커 사이에 연결이 설정되면 경로 지정 및 메시지 전달을 할 수 있습니다.

Message Queue 메시징은 2단계 메시지 전달을 기반으로 합니다. 먼저 생성자 클라이언트에서 브로커의 물리적 대상으로 메시지가 전달되고, 두 번째로는 브로커의 대상에서 하나 이상의 사용자 클라이언트로 메시지가 전달됩니다. 메시지 라우터는 도착하는 메시지를 적절한 대상에 넣은 다음 메시지를 적절한 사용자에게로 경로 지정하고 전달하는 프로세스를 관리합니다.

이 절에서는 여러 가지 종류의 대상과 이러한 대상에 대한 메모리 자원 관리를 개별적 및 집합적으로 설명합니다. 메시지 경로를 지정하고 전달하는 메커니즘에 대한 설명은 3장, "안정적인 메시지 전달"에서 찾아볼 수 있습니다.

물리적 대상

물리적 대상은 브로커의 물리적 메모리에서의 위치를 나타내며, 여기서는 받은 메시지가 사용자 클라이언트에게 경로 지정되기 전에 저장됩니다.

대상은 관리 작성, 자동 작성, 임시 및 사용 불능 메시지 대기열 등 대상의 작성 방식과 용도에 따라 여러 범주로 구분됩니다.

관리 작성 대상

관리 작성 대상은 관리자가 Message Queue 관리 도구를 사용하여 작성합니다. 이들 대상은 프로그램 방식으로 작성된 논리 대상이나 클라이언트에 의해 조회되는 대상 관리 객체에 해당합니다.

Message Queue 메시지 서버는 메시징 시스템에서 중앙 허브가 되므로 이 서버의 성능 및 안정성이 성공적인 엔터프라이즈 응용 프로그램에 있어 중요한 요소입니다. 대상은 (처리하는 메시지의 수 및 크기, 등록하는 메시지 사용자의 수 및 지속성에 따라) 많은 자원을 사용할 수 있으므로 메시지 서버 성능 및 안정성을 보장하도록 면밀하게 관리해야 합니다. 따라서 관리자가 응용 프로그램을 대신하여 대상을 만들고 대상을 모니터하며 필요 시 자원 요구 사항을 재구성하는 것이 표준 방식입니다.

자동 작성 대상

자동 작성 대상은 필요할 때 관리자가 개입하지 않아도 브로커에 의해 자동으로 작성됩니다. 특히, 자동 작성 대상은 메시지 사용자 또는 메시지 생성자가 존재하지 않는 대상에 액세스를 시도할 때마다 작성됩니다. 이들 대상은 일반적으로 개발 및 테스트 주기 중, 대상을 동적으로 작성해야 할 때 사용됩니다. 자동 작성 기능을 사용 가능하거나 사용 불가하도록 브로커를 구성할 수 있습니다.

대상이 자동으로 작성될 경우, (동일한 대상 이름을 사용하는) 서로 다른 클라이언트 응용 프로그램이 충돌하거나 (대상 지원에 필요한 자원 때문에) 시스템 성능이 저하될 수 있습니다. 이런 이유로 자동 작성 대상은 더 이상 사용되지 않을 경우, 즉 더 이상 메시지 사용자 클라이언트가 없거나 어떤 메시지도 포함하지 않는 경우 브로커에 의해 자동으로 삭제됩니다. 브로커가 다시 시작되면 지속성 메시지가 있는 경우에만 자동 작성 대상을 다시 작성합니다.

임시 대상

임시 대상은 다른 클라이언트에게 보낸 메시지의 응답을 받을 대상이 필요한 클라이언트가 (JMS API를 사용하여) 명시적으로 만들고 삭제합니다. 이러한 대상은 작성 시 해당 연결이 지속되는 동안 브로커에 의해 유지 관리됩니다. 임시 대상은 관리자가 삭제할 수 없습니다. 그리고 사용 중이라면, 즉 활성 메시지 사용자가 있는 경우에는 클라이언트 응용 프로그램에서도 삭제할 수 없습니다. 임시 대상은 (지속성 메시지가 있는) 관리 작성되거나 자동 작성된 대상과 달리 영구 저장되지 않으며 브로커가 다시 시작할 때 다시 작성되지는 않지만, Message Queue 관리 도구에 표시될 수 있습니다.

사용 불능 메시지 대기열

사용 불능 메시지 대기열은 브로커 시작 시 자동으로 작성되어, 진단 용도로 사용 불능 메시지를 저장하는 데 사용되는 특별한 대상입니다. 사용 불능 메시지는 정상 처리 또는 명시적 관리 조치가 아닌 다른 이유로 인해 시스템에서 제거되는 메시지입니다. 메시지가 만료되었거나, 메모리 제한 넘침으로 인해 대상에서 제거되었거나, 전달 시도 실패로 인해 사용 불능으로 간주될 수 있습니다.

사용 불능 메시지 대기열에 메시지를 넣는 방법은 2가지가 있습니다.

메시지가 사용 불능 메시지 대기열에 놓이면 추가 등록 정보의 정보가 기록되므로 사용 불능 원인에 대한 정보를 볼 수 있습니다.

메모리 자원 관리

메시지 서버는 메모리, CPU 사이클 등 자원이 제한되어 있습니다. 따라서, 브로커가 지원하는 메시징 응용 프로그램의 사용 패턴에 따라 메시지 서버가 넘치게 되어 응답하지 않거나 불안정하게 될 수 있습니다. 특히, 대상에 대한 메시지 생성 속도가 사용 속도보다 훨씬 빠를 때 문제가 될 수 있습니다.

메시지 라우터에는 메모리 자원을 관리하고 브로커의 메모리 부족을 방지하기 위한 메커니즘이 있습니다. 이 메커니즘은 3가지 수준의 메모리 보호 즉, 대상 메시지 제한, 시스템 전체 제한 및 시스템 메모리 임계값을 사용하여 자원이 부족하게 될 때 시스템을 계속 작동시켜 줍니다.

대상 메시지 제한

메시지가 대상에 오래 머물게 되면 메모리 자원이 문제가 되기도 합니다. 대상에 메모리를 너무 많이(시스템 메모리만 너무 많음) 또는 너무 적게(메시지가 거부됨) 할당하는 것은 모두 좋지 않습니다.

각 대상의 로드 요구에 기반하여 유연성을 허용하기 위해 각 대상에 대한 메모리 자원 및 메시지 흐름을 관리하는 등록 정보를 설정할 수 있습니다. 예를 들어, 대상에 허용되는 최대 생성자 수, 대상에 허용되는 최대 메시지 수(또는 크기) 및 단일 메시지의 최대 크기를 지정할 수 있습니다.

또한 이러한 제한에 도달할 경우 메시지 라우터가 수행하는 네 가지 응답을 지정할 수 있습니다. 네 가지 제한 동작은 다음과 같습니다.

시스템 전체 메시지 제한

시스템 전체 메시지 제한은 두 번째 보호 집합을 구성합니다. 총 메시지 수, 모든 메시지가 사용하는 메모리 등과 같이 브로커의 모든 대상에 한꺼번에 적용되는 시스템 전체 제한을 지정할 수 있습니다. 시스템 전체 메시지 제한에 도달하면 메시지 라우터는 새 메시지를 거부합니다.

시스템 메모리 임계값

시스템 메모리 임계값은 세 번째 보호 집합입니다. 브로커가 메모리 과부하 방지를 위한 조치의 수위를 점점 더 높이게 되는 사용 가능한 시스템 메모리의 임계값을 지정할 수 있습니다. 조치는 메모리 자원 상태, 즉 초록(사용 가능한 메모리 충분), 노랑(브로커 메모리 감소 중), 주황(브로커 메모리 부족) 및 빨강(브로커가 사용 가능한 메모리 없음)에 따라 달라집니다. 브로커의 메모리 상태가 초록에서 노랑 및 주황을 거쳐 빨강으로 변하면 브로커는 다음과 같이 점점 더 높은 수준의 조치를 수행합니다.

두 조치 모두 성능을 떨어뜨립니다.

시스템 메모리 임계값에 도달하는 경우는 대상별 메시지 제한과 시스템 전체 메시지 제한을 잘못 설정했기 때문입니다. 임계값만으론 잠재적 메모리 과부하를 제때에 잡을 수 없는 경우도 있습니다. 따라서 이 기능에만 의존하지 말고, 대상을 개별적 및 전체적으로 구성하여 메모리 자원을 최적화하는 것이 좋습니다.

대상 기반 제한 및 동작은 세밀하게 모니터하고 조정하면 메시지 유입과 유출의 균형을 유지하여 시스템 과부하가 발생할 수 없도록 하는 데 사용할 수 있습니다. 이 메커니즘은 오버헤드를 사용하고 메시지 처리량을 제한하는 단점이 있지만 운영 무결성을 유지할 수 있습니다.

지속성 관리자

오류 발생 시 브로커를 복구하려면 메시지 전달 작업 상태를 다시 작성해야 합니다. 그러기 위해서는 모든 지속성 메시지와 기본적인 경로 지정 및 전달 정보를 데이터 저장소에 저장해야 합니다. 또한 복구하려면 브로커는 다음을 수행할 수 있어야 합니다.

지속성 관리자는 이 모든 상태 정보의 저장 및 복원을 관리합니다.

브로커가 다시 시작되면 지속성 관리자가 관리하는 데이터를 사용하여 대상 및 영구 가입을 다시 작성하고 지속성 메시지를 복구하며 열린 트랜잭션을 롤백하고 전달되지 못한 메시지의 경로 지정 테이블을 다시 작성합니다. 그런 다음 메시지 전달을 다시 시작할 수 있습니다.

Message Queue는 기본 제공 및 플러그 인 지속성 모듈을 모두 지원합니다(그림 4-4 참조). 기본 제공 지속성은 파일 기반 데이터 저장소입니다. 플러그 인 지속성은 JDBC™ (Java Database Connectivity) 인터페이스를 사용하며 JDBC 호환 데이터 저장소가 필요합니다. 일반적으로 기본 제공 지속성은 플러그 인 지속성보다 더 빠릅니다. 그러나 JDBC 호환 데이터베이스 시스템에서 제공하는 중복 및 관리 기능을 선호하는 사용자도 있습니다.

그림 4-4 지속성 관리자 지원

지속성 관리자가 플랫 파일 저장소나 JDBC호환 데이터 저장소를 사용함을 보여주는 다이어그램

기본 제공 지속성     기본 Message Queue 영구 저장소 솔루션은 개별 파일을 사용하여 지속성 데이터를 저장하는 파일 기반 데이터 저장소입니다. 메시지를 추가 및 제거할 때 단편화를 줄이기 위한 방법으로 파일 기반 데이터 저장소를 압축할 수 있습니다. 안정성을 최대화하려면 지속성 작업이 메모리 상태에서 물리적 저장 장치와 동기화되도록 지정할 수 있습니다. 이렇게 하면 시스템 충돌로 인한 데이터 손실을 없앨 수 있지만 성능은 느려집니다. 데이터 저장소에는 중요 정보나 소유 정보를 포함하는 메시지가 있을 수 있기 때문에 데이터 저장소 파일을 인증되지 않은 액세스로부터 보호하는 것이 좋습니다.

플러그 인 지속성     JDBC 드라이버를 통해 액세스 가능한 데이터 저장소를 모두 액세스하도록 브로커를 설정할 수 있습니다. 이 경우 여러 JDBC 관련 브로커 구성 등록 정보를 설정하고 Message Queue의 데이터베이스 관리자 유틸리티를 사용하여 적합한 체계를 갖는 데이터 저장소를 만들어야 합니다. 절차 및 관련 구성 등록 정보는 Message Queue 관리 설명서에 자세히 설명되어 있습니다.

보안 관리자

Message Queue 는 인증 및 권한 부여(액세스 제어) 기능을 제공하며 암호화 기능도 지원합니다.

인증 및 권한 부여 기능은 사용자 저장소(그림 4-5 참조), 즉 메시징 시스템 사용자에 대한 정보(예: 아이디, 비밀번호, 그룹 멤버쉽)를 포함하는 파일, 디렉토리 또는 데이터베이스에 따라 달라집니다. 아이디와 비밀번호는 브로커와의 연결 요청 시 사용자를 인증할 때 사용됩니다. 대상에 대한 메시지 생성/사용과 같은 작업 권한을 부여할 때 아이디와 그룹 멤버쉽이 액세스 제어 파일과 함께 사용됩니다.

Message Queue 제공 사용자 저장소를 채우거나 기존 LDAP 사용자 저장소를 브로커에 플러그 인할 수 있습니다. 플랫 파일 사용자 저장소는 쉽게 사용할 수 있지만 보안 공격에 취약하므로 평가 및 개발 용도에 한해 사용해야 합니다. LDAP 사용자 저장소는 안전하므로 작업 환경에 가장 적합합니다.

다음 하위 절에서는 인증, 권한 부여 및 암호화를 설명합니다. 자세한 내용은 Message Queue 관리 설명서를 참조하십시오.

인증

Message Queue 보안은 비밀번호 기반의 인증을 지원합니다. 클라이언트가 브로커와의 연결을 요청할 경우 이 클라이언트는 아이디와 비밀번호를 제출해야 합니다. 보안 관리자는 클라이언트가 제출한 아이디와 비밀번호를 사용자 저장소에 저장된 정보와 비교합니다. 클라이언트가 브로커에게 비밀번호를 전송할 때 이 비밀번호는 기본-64 인코딩이나 메시지 다이제스트(MD5) 중 한 가지를 사용하여 암호화됩니다. 보다 안전한 전송에 대해서는 암호화를 참조하십시오. 별도로 각 연결 서비스가 사용하는 인코딩 유형을 구성하거나 브로커 전체에 대한 인코딩을 설정할 수 있습니다.

권한 부여

클라이언트 응용 프로그램 사용자가 인증되면 이 사용자는 여러 Message Queue 관련 작업을 수행할 권한을 갖습니다. 보안 관리자는 사용자 기반 및 그룹 기반 액세스 제어를 모두 지원합니다. 사용자 저장소에 있는 아이디 또는 해당 사용자가 속한 그룹에 따라 이 사용자는 특정 Message Queue 작업을 수행할 권한을 갖습니다. 액세스 제어 등록 정보 파일에서 액세스 제어를 지정합니다(그림 4-5 참조).

그림 4-5 보안 관리자 지원

보안 관리자가 사용자 저장소 및 액세스 제어 등록 정보 파일을 모두 사용함을 보여주는 다이어그램

사용자가 어떤 작업을 수행하려 하면 보안 관리자는 (액세스 제어 등록 정보 파일에 있는) 해당 작업 액세스를 위해 지정된 아이디 및 그룹 멤버쉽을 (사용자 저장소에 있는) 아이디 및 그룹 멤버쉽과 대조 확인합니다. 액세스 제어 등록 정보 파일은 다음 작업에 대한 권한을 지정합니다.

사용자 저장소에서 그룹 및 이 그룹의 사용자를 정의할 수 있습니다(단, 플랫 파일 사용자 저장소에서는 그룹 기능이 완전히 지원되지 않음). 그런 다음, 액세스 제어 등록 정보 파일을 편집하여 생성, 사용 또는 찾아보기 목적으로 사용자 또는 그룹이 액세스할 수 있는 대상을 지정할 수 있습니다. 개별 대상이나 모든 대상에 대한 액세스 권한을 특정 사용자나 그룹에게만 부여할 수 있습니다.

또한 브로커가 대상을 자동으로 작성할 수 있도록 구성된 경우(자동 작성 대상 참조), 액세스 제어 등록 정보 파일을 편집하여 브로커가 특정 사용자를 위해 대상을 자동으로 작성할 수 있도록 제어할 수 있습니다.

암호화

클라이언트와 브로커 사이에 전송되는 메시지를 암호화하려면 SSL(Secure Socket Layer) 표준 기반의 연결 서비스를 사용해야 합니다. SSL은 SSL 사용 가능 브로커와 SSL 사용 가능 클라이언트 사이에 암호화된 연결을 설정함으로써 연결 수준에서의 보안을 제공합니다.

모니터링 서비스

브로커는 로그 작업을 모니터링하고 진단할 다양한 구성 요소를 포함합니다. 다음은 그러한 구성 요소의 예입니다.

그림 4-6은 일반 체계를 보여줍니다.

메트릭 생성자

그림 4-6에 표시된 메트릭 생성자는 브로커 내부 및 외부로의 메시지 흐름, 브로커 메모리의 메시지 수 및 이 메시지가 사용하는 메모리, 열려 있는 연결 수, 사용 중인 스레드 수 등과 같은 브로커 활동 정보를 제공합니다.

메트릭 데이터 생성을 설정 또는 해제하고 메트릭 보고서 생성 빈도를 지정할 수 있습니다.

그림 4-6 모니터링 서비스 지원

로거 입력, 오류 수준 및 출력 채널을 보여주는 다이어그램. 그림은 텍스트에 설명되어 있습니다.

로거

그림 4-6에 표시된 Message Queue 로거는 브로커 코드 및 메트릭 생성자가 생성한 정보를 가져와서 표준 출력(콘솔), 로그 파일, syslog 데몬 프로세스(Solaris™ 플랫폼의 경우) 등과 같은 여러 출력 채널에 해당 정보를 기록합니다.

로거에서 수집된 정보의 유형과 각 출력 채널에 기록된 유형을 지정할 수 있습니다. 로그 파일의 경우 로그 파일을 닫고 출력을 새 파일로 롤오버하는 지점을 지정할 수 있습니다. 로그 파일이 지정된 크기나 표시 시간에 도달하면 이 파일을 저장하고 새 로그 파일을 작성합니다.

로거를 구성하는 방법 및 로거를 사용하여 성능 정보를 얻는 방법에 대한 자세한 내용은 Message Queue 관리 설명서를 참조하십시오.

메트릭 메시지 생성자(엔터프라이즈판)

그림 4-6에 나타난 메트릭 메시지 생성자 구성 요소는 메트릭 생성자 구성 요소로부터 일정 간격으로 정보를 받아서 메시지에 기록한 다음 메시지에 포함된 메트릭 정보 유형에 따라 여러 메트릭 주제 대상 중 하나로 보냅니다.

이러한 메트릭 주제 대상에 가입한 Message Queue 클라이언트는 대상의 메시지를 사용하고 메시지에 포함된 메트릭 정보를 처리할 수 있습니다. 이렇게 하면 개발자는 사용자 정의 모니터링 도구를 작성하여 메시징 응용 프로그램을 지원할 수 있습니다. 각 메트릭 메시지 유형에서 보고하는 메트릭 수량에 대한 자세한 내용은 메트릭 메시지를 사용할 Message Queue 클라이언트 개발 방법을 설명하는 Java 클라이언트용 Message Queue 개발 안내서를 참조하십시오. 메트릭 메시지 생성을 구성하는 방법에 대한 자세한 내용은 Message Queue 관리 설명서를 참조하십시오.


개발 및 작업 환경

메시징 응용 프로그램을 개발 및 테스트할 뿐만 아니라 작업 환경에서 이러한 응용 프로그램을 배포 및 관리하려면 Message Queue 서비스에서 제공하는 메시징 기반 구조가 필요합니다.

이 절에서는 개발 및 작업 환경에서 Message Queue을 사용하는 다양한 접근 방식을 소개합니다. 이 장은 다음 내용으로 구성되어 있습니다.

관리자가 작업 환경 및 작업을 설정하고 관리하는 일을 담당하지만 개발자가 이 환경의 일부를 설정 및 구성하고 클라이언트가 예상대로 작동하는 지 여부를 판단할 때 필요한 정보를 관리자에게 제공하려면 이러한 환경을 이해하는 것이 중요합니다.

개발 환경 및 작업

개발 환경에서의 작업은 Message Queue 클라이언트 응용 프로그램을 프로그래밍하는 데 중점을 둡니다. Message Queue 메시지는 주로 테스트 용도로 필요합니다.

표준 구성

Message Queue 제품은 표준 사용되도록 설계되었습니다. 기본값으로 브로커를 시작할 수 있으며 기본 데이터 저장소, 사용자 저장소 및 액세스 제어 등록 정보 파일이 제공됩니다.

기본 사용자 저장소는 관리자가 개입하지 않고도 설치 후 바로 Message Queue 브로커를 사용할 수 있게 해주는 기본 항목으로 작성됩니다. 즉, 브로커를 사용하기 위해 초기 아이디/비밀번호를 설정할 필요가 없습니다. 기본 아이디(guest) 및 비밀번호(guest)를 사용하여 클라이언트 사용자를 인증할 수 있습니다.

또한 새 응용 프로그램 개발 과정을 안내하는 여러 샘플 응용 프로그램도 제공됩니다.

개발 실습

개발 환경에서는 유연성이 강조되며 일반적으로 다음과 같은 방법을 적용합니다.

작업 환경 및 작업

작업 환경에서 성능을 최대화하려면 응용 프로그램을 배포, 관리 및 조정해야 합니다. 이러한 상황에서는 메시징 기반 구조를 관리하고 조정하는 것이 중요한(매우 중요한 것은 아니더라도) 요구 사항입니다.

또한 배포는 규모 및 가용성 모두에서 엔터프라이즈 요구 사항을 지원해야 합니다. 이를 위해 성능을 조정하고 시스템을 확장하여 증가하는 로드를 만족시키고 메시지 서비스 및 응용 프로그램별 자원을 매일 모니터하고 관리하면서 메시지 서비스의 구성 및 설정을 사용자 정의해야 합니다. 따라서, 관리 작업은 메시징 시스템 및 이 시스템이 지원해야 하는 응용 프로그램의 복잡성에 따라 달라집니다. 다음 절에서는 관리 작업을 설정 작업과 유지 보수 작업으로 분류합니다. 이러한 작업을 수행하는 데 필요한 절차는 Message Queue 관리 설명서를 참조하십시오.

설정 작업

작업 환경에서는 보안 액세스 설정, 연결 팩토리 및 대상 객체 구성, 클러스터 설정, 영구 저장소 구성 및 메모리 관리가 필요합니다.


▶ 작업 환경을 설정하는 방법

보통 다음 설정 작업 중 전부는 아니더라도 최소한 일부는 수행해야 합니다.

유지 보수 작업

작업 환경에서는 Message Queue 메시지 서버 자원을 모니터하고 제어해야 합니다. 응용 프로그램 성능, 신뢰성 및 보안이 매우 중요하며, Message Queue 관리 도구를 사용하여 다음과 같은 다양한 작업을 지속적으로 수행해야 합니다.


▶ 작업 환경을 유지 보수하는 방법



이전      목차      색인      다음     


부품 번호: 819-2222.   Copyright 2005 Sun Microsystems, Inc. 모든 권리는 저작권자의 소유입니다.