솔루션 개발자와 설계자는 SOA(서비스 지향 아키텍처) 프로그래밍 모델을 사용하여 분산 컴퓨팅 시나리오를 지원하는 클러스터 지원 대화형 애플리케이션인 HPC(고성능 컴퓨팅)를 개발할 수 있습니다. 클러스터에서 SOA 애플리케이션을 사용하려면 하나 이상의 노드를 WCF(Windows Communication Foundation) 브로커 노드로 구성해야 합니다. 브로커 노드는 클라이언트 애플리케이션 및 컴퓨팅 노드와 통신할 수 있어야 합니다(클러스터에서 SOA 작업이 작동하는 방법에 대한 자세한 내용은 SOA 작업 참조).
이 항목에는 다음이 포함됩니다.
WCF Broker 노드 기본 사항
헤드 노드를 broker 노드로 사용하거나 하나 이상의 노드를 broker 노드로 배포할 수 있습니다. Broker 노드는 세션을 모니터링하고 관리하며 SOA 클라이언트와 서비스 호스트 간에 서비스 요청 및 응답을 조정합니다.
중요합니다
WCF Broker 노드는 온라인 노드 상태인 경우에만 SOA 세션을 관리하는 데 사용할 수 있습니다.
비고
헤드 노드를 broker 노드로 사용하려면 헤드 노드를 온라인 노드 상태로 가져와야 합니다. 기본적으로 헤드 노드를 온라인 상태로 만들면 컴퓨팅 노드 역할을 시작합니다. 노드 역할 변경 작업을 사용하여 컴퓨팅 노드 기능을 사용하지 않도록 설정할 수 있습니다. 노드 역할 변경에 대한 자세한 내용은 Broker 노드 크기 조정을 참조하세요.
WCF Broker 노드로 수행하려면 서버가 다음 요구 사항을 충족해야 합니다.
Windows Server 2008 R2 HPC Edition 또는 Windows Server 2008 R2 운영 체제의 다른 64비트 버전이 설치되었습니다.
엔터프라이즈 네트워크에 연결되었습니다. 자세한 내용은 Broker 노드, 워크스테이션 노드 또는 관리되지 않는 서버 노드 연결을 참조하세요.
Broker 노드 템플릿
클러스터에 새 broker 노드를 추가하려면 broker 노드 템플릿을 만들어야 합니다. 헤드 노드가 네트워크에서 새 노드를 검색하면 노드가 노드 관리 보기의 HPC 클러스터 관리자에 표시됩니다. 클러스터 관리자는 노드를 승인하고 노드 템플릿을 할당하여 클러스터에 조인합니다.
HPC 클러스터 관리자의 노드 템플릿 마법사를 사용하여 브로커 노드, 컴퓨팅 노드 또는 워크스테이션 노드 템플릿을 만들 수 있습니다. 템플릿이 할당되면 해당 노드 역할이 자동으로 사용하도록 설정됩니다.
완전 복구에서 broker 노드를 배포하려는 경우 연결된 운영 체제 이미지를 포함하는 broker 노드 템플릿을 만들 수 있습니다. 이미 broker 노드로 구성된 서버를 추가하려는 경우 연결된 운영 체제 이미지를 포함하지 않는 broker 노드 템플릿을 만들 수 있습니다. 자세한 내용은 노드 템플릿을 참조하세요.
broker 노드 미리 구성
Microsoft HPC Pack을 서버에 직접 설치하여 미리 구성된 broker 노드를 만들 수 있습니다. 서버에 지원되는 64비트 버전의 Windows Server 운영 체제가 설치되어 있어야 합니다.
서버에 HPC 팩을 처음 설치할 때 헤드 노드, 컴퓨팅 노드 또는 broker 노드를 설정하는 옵션이 있습니다. 마법사에서 선택한 항목에 따라 노드에 설치된 기능이 결정됩니다. Broker 노드를 만들어 클러스터에 조인하는 옵션을 선택하면 설치 마법사에 클러스터의 헤드 노드를 지정하는 단계가 포함됩니다.
설치가 완료되면 새 노드가 노드 관리 목록 보기에 알 수 없는 상태의 WCF Broker 노드로 표시됩니다. 그런 다음 운영 체제 이미지를 포함하지 않는 broker 노드 템플릿을 할당하여 노드를 승인하고 클러스터에 추가할 수 있습니다.
지속성 세션 및 MSMQ
SOA 클라이언트가 지속성 세션 API를 사용하여 클러스터에서 세션을 만들 때 브로커 노드는 MSMQ(메시지 큐)를 사용하여 메시지를 저장합니다. 브로커가 저장한 응답은 의도적이거나 의도하지 않은 연결 끊기 후에도 언제든지 클라이언트에서 검색할 수 있습니다. 기본적으로 MSMQ 스토리지 제한은 8GB입니다. 메시지 크기 및 클러스터에서 실행되는 지속성 세션 수에 따라 레코드 보존 기간을 수정하거나 이 제한을 늘릴 수 있습니다. 지속성 세션에 대해 메시지가 사용하는 디스크 공간의 양은 다음과 같이 추정할 수 있습니다.
필요한 디스크 공간 = (요청 수 x 요청 크기) + (응답 수 x 요청 크기)
HPC 클러스터 관리자에서 노드 목록 보기에 열을 추가하거나 지속성 큐 총 바이트 및 사용 가능한 디스크 공간 메트릭에 대한 열 지도 페이지를 만들어 총 메시지 큐 크기(요청 및 응답) 및 사용 가능한 디스크 공간을 모니터링할 수 있습니다.
기능 아래 의 서버 관리자 에서 broker 노드에 대한 메시지 큐 제한을 조정할 수 있습니다. 다음 스크린샷과 같이 메시지 큐를 마우스 오른쪽 단추로 클릭하고 속성을 클릭하여 스토리지 제한을 수정합니다.
정상적인 작업 중에는 다음과 같은 방법으로 MSMQ에서 메시지가 삭제됩니다.
SOA 클라이언트는 세션을 닫을 때 MSMQ가 세션과 연결된 메시지를 삭제하도록 할 수 있습니다.
완료된 세션과 연결된 메시지는 작업 스케줄러 구성 옵션의 작업 기록 설정에 지정된 일 수 이후 MSMQ에서 자동으로 삭제됩니다. 기본적으로 완료된 세션에 대한 레코드는 5일 동안 유지됩니다. 작업 기록 이해도 참조하세요.
broker 노드의 동시 세션 수 제한
broker 노드의 동시 세션 수에 제한을 설정할 수 있습니다. 정의된 제한에 도달하면 SOA 클라이언트가 연결을 시도할 때 다음이 발생합니다.
새 세션: SOA 클라이언트가 다음 broker 노드를 시도합니다. 모든 broker 노드가 가득 차면 세션 생성이 실패합니다.
세션에 연결: 지정된 세션을 관리하는 broker 노드가 이미 용량에 있으므로 연결 작업이 즉시 실패합니다.
제한을 설정하려면 각 broker 노드의 MaxConcurrentSessionHpcbBoker.exe.config 파일에서 특성 값을 편집할 수 있습니다. 이 파일은 %CCP_HOME%Bin 폴더에 있습니다. 기본값 MaxConcurrentSession 은 0입니다. 즉, 다음 XML 코드 스니프에 설명된 대로 설정이 비활성화됩니다.
<userSettings>
<Microsoft.Hpc.Scheduler.Session.Internal.BrokerLauncher.BrokerLauncherSettings>
<setting name="MaxConcurrentSession" serializeAs="String">
<value>0</value>
</setting>
</Microsoft.Hpc.Scheduler.Session.Internal.BrokerLauncher.BrokerLauncherSettings>
</userSettings>
Broker 노드 크기 조정
노드 역할을 변경하면 현재 요구 사항에 따라 컴퓨팅 노드 및 WCF 브로커 노드의 크기를 쉽게 조정할 수 있습니다. 노드에 여러 역할에 대한 기능이 포함된 경우 HPC 클러스터 관리자에서 노드 역할을 사용하거나 사용하지 않도록 설정할 수 있습니다. 노드가 broker 노드로 배포되면 노드에는 broker 노드 역할 및 컴퓨팅 노드 역할에 대한 기능이 포함됩니다. 자세한 내용은 Microsoft HPC 팩의 노드 역할 이해를 참조하세요.
다음 절차에서는 WCF 브로커 노드 역할을 사용하도록 설정하는 방법을 설명합니다.
WCF broker 노드 역할을 사용하도록 설정하려면
노드 관리의 탐색 창에서 노드를 클릭합니다.
보기 창에서 노드를 마우스 오른쪽 단추로 클릭한 다음 오프라인으로 전환합니다.
오프라인 노드 가져오기 대화 상자에서 예를 클릭합니다. 보기 창에서 노드 상태를 확인하고 노드 상태가 오프라인 으로 변경될 때까지 기다렸다가 다음 단계로 진행합니다.
보기 창에서 노드를 마우스 오른쪽 단추로 클릭한 다음 역할 변경을 클릭합니다.
노드 역할 변경 대화 상자에서 WCF 브로커 노드를 선택한 다음 확인을 클릭합니다.
보기 창에서 노드를 마우스 오른쪽 단추로 클릭한 다음 온라인 가져오기를 클릭합니다.
탐색 창의 노드 아래 그룹별로WCFBrokerNodes를 클릭합니다. 구성한 노드가 목록에 표시되는지 확인합니다.
추가 고려 사항
SOA 워크로드에 대한 작업 스케줄러 리소스 할당 정책을 최적화할 수 있습니다. 자세한 내용은 정책 구성 이해를 참조하세요.
개발자는 서비스 DLL, 서비스 구성 파일 및 클라이언트 애플리케이션을 만듭니다. 관리자는 서비스 DLL을 클러스터의 컴퓨팅 노드에 복사하고 서비스 구성 파일을 헤드 노드에 배치하여 서비스를 등록합니다. SOA 서비스 배포 및 구성에 대한 자세한 내용은 Microsoft HPC 팩에서 SOA 서비스 관리를 참조하세요.
서비스 구성 파일을 사용하여 broker가 특정 서비스와 상호 작용하는 방식을 사용자 지정할 수 있습니다. 예를 들어 모니터링, 메시지 제한 및 부하 분산과 같은 broker 동작은 개별 서비스 수준에서 정의할 수 있습니다. 자세한 내용은 SOA 애플리케이션, 인프라 및 관리를 참조하세요.
클라이언트 애플리케이션은 최종 사용자에 대한 인터페이스를 제공하고, 백 엔드에서 클라이언트 애플리케이션은 클러스터에 SOA 작업을 제출하고, broker 노드로 세션을 시작하고, 서비스 요청을 보내고 응답을 받습니다. 최종 사용자는 컴퓨터에서 애플리케이션을 실행하고 클러스터 노드는 계산을 수행합니다. 세션 ID는 작업 ID에 해당합니다.
WCF 브로커 노드 및 SOA 애플리케이션에 대한 자세한 내용은 SOA 애플리케이션, 인프라 및 관리 백서를 참조하세요.
HPC 클러스터 관리자 사용에 대한 자세한 내용은 HPC 클러스터 관리자 개요를 참조하세요.