수신 호스트 확장
호스트에 수신 위치나 파이프라인과 같은 수신 항목이 포함되어 있으면 호스트는 보안 경계의 역할을 하며 호스트 내의 파이프라인에서 메시지 디코딩 및 암호 해독이 발생합니다. 수신 호스트의 가용성을 높이려면 각 수신 호스트의 인스턴스가 실행되는 BizTalk Server 컴퓨터가 두 대 이상 있어야 합니다. 수신 호스트를 확장하면 메시징 집약적인 BizTalk Server 배포에 대한 가용성을 보장할 수 있습니다. 이러한 배포는 최소한의 오케스트레이션 처리를 수행하는 반면 다양한 유형의 대량 메시지를 빠르고 안정적으로 라우팅할 수 있습니다.
오케스트레이션을 처리하고 메시지를 송신하는 호스트와 수신 호스트를 분리하면 각 호스트에 대해 독립적으로 보안을 유지하고 확장할 수 있으므로 보안 및 확장성을 향상시킬 수 있습니다. 예를 들어 처리 또는 송신 호스트에는 컴퓨터를 추가하지 않고 수신 호스트에만 두 대의 컴퓨터(호스트 인스턴스)를 추가할 수 있습니다.
메시지 수신용으로 호스트를 여러 대 구성
다음 그림에서는 수신 호스트의 인스턴스를 실행하는 두 대의 컴퓨터를 사용하여 수신 호스트에 고가용성을 제공하는 BizTalk Server 배포를 보여 줍니다. 이 그림에서 처리 호스트와 송신 호스트는 가용성이 높지 않습니다.
대규모 배포 환경이나 여러 거래 업체와 거래를 할 때 또는 여러 다른 프로토콜을 사용하는 경우에 여러 수신 호스트로 수신 기능을 분산할 수 있습니다. 예를 들어 어댑터별로 메시지를 받을 수 있도록 호스트를 만들거나 파트너에서 보낸 메시지를 따로 받을 수 있도록 각기 다른 호스트를 만들 수 있습니다. 여러 수신 호스트를 만들 경우 보안 경계를 만들 수 있으며 사용자 환경의 관리 효율과 확장성을 보다 쉽게 향상시킬 수 있지만 가용성이 향상되지는 않습니다.
사용자 환경의 가용성을 높이려면 만든 각 수신 호스트에 대해 둘 이상의 호스트 인스턴스를 만들어야 합니다. 예를 들어 세 개의 다른 회사에서 보낸 메시지를 받을 수 있도록 세 개의 다른 수신 호스트(A, B, C)를 만들 수 있습니다. 이러한 각 호스트의 가용성을 높이려면 두 대 이상의 컴퓨터에 각 호스트의 호스트 인스턴스를 만듭니다. 이 경우 보안 경계, 관리 효율 또는 확장성을 손상시키지 않으면서 한 대의 컴퓨터에 각 호스트의 인스턴스를 보유할 수 있습니다.
다음 그림은 각 회사에서 보낸 메시지를 전담해서 수신하는 호스트가 있는 세 대의 컴퓨터로 구성된 고가용성 BizTalk Server 환경을 보여 줍니다.
이 구성에서 고가용성을 제공하기 위해 각 컴퓨터는 세 개의 호스트 인스턴스(각 3개 회사에 대해 1개의 instance)를 실행합니다. 각 회사에 대한 호스트 인스턴스는 각 회사와의 통신용으로 수신 위치 및 파이프라인을 포함합니다. 수신 어댑터를 확장하기 전에 확장에 필요한 작업을 수행한 경우(예: HTTP에 대해 네트워크 로드 균형 조정을 구성한 경우) 일반적인 작업 중에는 각 호스트의 세 개의 호스트 인스턴스로 메시징 로드가 분산됩니다. 한 컴퓨터의 호스트 인스턴스가 실패하면 다른 두 컴퓨터에서 실행되는 호스트 인스턴스가 중복성을 제공하며 서비스 가용성을 유지합니다.
BizTalk Server 수신 어댑터 확장
호스트 인스턴스뿐만 아니라 수신 호스트를 확장하고 고가용성을 제공하는 프로세스 또한 배포에서 구현한 특정 어댑터의 영향을 받습니다. 각 어댑터는 프로토콜마다 다른 특징을 가지므로 계획 및 배포 방식도 그에 따라 달라집니다. 그러나 BizTalk Server 모든 어댑터에 대해 주로 추가 컴퓨터 및 호스트 인스턴스를 통해 동일한 고가용성 솔루션을 적용할 수 있습니다.
사용되는 특정 프로토콜에 따라 일부 수신 어댑터는 고가용성을 제공하기 위해 여러 호스트 컴퓨터에 들어오는 메시지를 분산하기 위한 추가 메커니즘을 필요로 합니다. 예를 들어 HTTP 또는 SOAP 어댑터(웹 서비스 어댑터라고도 함)를 사용하는 BizTalk Server 솔루션에는 수신 워크로드를 배포하기 위해 NLB(네트워크 부하 분산)와 같은 부하 분산 장치가 필요합니다. 다음 표에는 BizTalk Server 가장 일반적인 어댑터에 대한 고가용성 지침이 요약되어 있습니다.
어댑터 | 고가용성 지침 |
---|---|
HTTP | 수신 호스트에 여러 컴퓨터를 추가하고 들어오는 메시지를 여러 호스트 컴퓨터에 분산하도록 NLB를 구성합니다. |
SOAP | 수신 호스트에 여러 컴퓨터를 추가하고 들어오는 메시지를 여러 호스트 컴퓨터에 분산하도록 NLB를 구성합니다. |
파일 | 수신 호스트에 여러 컴퓨터를 추가하고 각 호스트 컴퓨터의 수신 위치에서 동일한 파일 폴더 또는 UNC(Universal Naming Convention) 경로를 참조하도록 합니다. 완전한 고가용성 솔루션을 구현하려면 UNC 경로가 가리키는 파일 위치가 가용성이 높거나 적어도 안정적인지 확인해야 합니다. |
FTP | 클러스터형 BizTalk 호스트에서 실행되도록 FTP 수신 어댑터를 구성합니다. 자세한 내용은 클러스터형 호스트 내에서 어댑터 처리기를 실행하기 위한 고려 사항을 참조하세요. |
POP3 | 클러스터형 BizTalk 호스트에서 실행되도록 POP3 수신 어댑터를 구성합니다. 자세한 내용은 클러스터형 호스트 내에서 어댑터 처리기를 실행하기 위한 고려 사항을 참조하세요. |
MSMQ | Windows 클러스터된 BizTalk 호스트에서 실행되도록 MSMQ 수신 어댑터를 구성합니다. 자세한 내용은 클러스터형 호스트 내에서 어댑터 처리기를 실행하기 위한 고려 사항을 참조하세요. MSMQ 수신 위치가 원격 MSMQ 서버에서 큐를 사용하는 경우 BizTalk 호스트를 클러스터할 필요가 없습니다. 이 시나리오에서는 그룹의 여러 BizTalk 컴퓨터에서 MSMQ 수신 호스트를 실행합니다. |
MQSeries | 이 어댑터에 대한 수신 호스트에 여러 컴퓨터를 추가하고 Windows용 MQSeries에서 클러스터형 큐 관리자를 사용하여 Windows용 MQSeries Server를 클러스터링합니다. |
Windows Sharepoint Services | 수신 호스트에 여러 컴퓨터를 추가하고 들어오는 메시지를 여러 호스트 컴퓨터에 분산하도록 NLB를 구성합니다. |
- WCF-NetTcp - WCF-Custom |
수신 호스트에 여러 컴퓨터를 추가하고 들어오는 메시지를 이러한 호스트 컴퓨터에 분산하도록 NLB를 구성합니다. 또는 어댑터 수신기 핸들러에서 사용되는 호스트를 클러스터링합니다. |
- WCF-NetNamedPipe - WCF-BasicHttp - WCF-WSHttp - WCF-CustomIsolated |
수신 호스트에 여러 컴퓨터를 추가하고 들어오는 메시지를 이러한 호스트 컴퓨터에 분산하도록 NLB를 구성합니다. |
WCF-NetMsmq | 어댑터 수신기 핸들러에서 사용되는 호스트를 클러스터링합니다. |
HTTP 어댑터
BizTalk Server HTTP 수신 어댑터는 각 수신 호스트 컴퓨터에서 호스트 instance 실행되는 ISAPI(인터넷 서버 API) 확장(BTSHTTPReceive.dll)입니다. 파트너에서 HTTP 프로토콜을 통해 BizTalk Server로 메시지를 보내면 메시지는 일반적으로 인터넷 정보 서비스(IIS)가 설치된 BizTalk Server 컴퓨터의 특정 URL에 도착합니다. 이 URL에 등록하는 수신 위치를 지정하여 BizTalk Server에 호스트 인스턴스를 만듭니다. 메시지가 이 URL에 도착하면 BizTalk Server는 해당 메시지를 검색한 후 MessageBox 데이터베이스에 보관합니다.
BizTalk Server 동일한 수신 호스트의 여러 호스트 인스턴스를 만들 수 있도록 하여 HTTP 수신 어댑터에 대한 고가용성을 제공합니다. 이러한 호스트 인스턴스는 공유할 수 있는 특정 URL에 등록하며 NLB를 사용하여 들어오는 메시지를 여러 수신 호스트에 분산할 경우에는 클러스터 IP 주소에 등록합니다. 이러한 호스트는 모두 클러스터의 가상 IP 주소가 될 수 있으므로 한 클러스터 멤버가 실패해도 다른 클러스터 멤버가 여전히 이 IP 주소로 사용됩니다.
SOAP 어댑터(웹 서비스 어댑터)
HTTP 수신 어댑터와 달리 웹 서비스용 수신 어댑터는 ISAPI 확장을 포함하지 않습니다. 이 어댑터는 BizTalk 웹 서비스 게시 마법사를 사용하여 지정한 URL을 통해 들어오는 메시지를 수신합니다. 이 마법사는 웹 서비스를 내보내고 수신 위치 역할을 하는 가상 디렉터리를 만듭니다.
고가용성 웹 서비스 어댑터를 제공하려면 수신 호스트에 여러 컴퓨터를 추가하고 NLB를 사용하여 들어오는 메시지를 분산합니다. 클라이언트가 웹 서비스 어댑터를 통해 BizTalk Server로 메시지를 전송하면 NLB는 수신 호스트 중 하나로 메시지 로드를 분산하고 호스트에서 실행되는 해당 호스트 인스턴스는 메시지를 MessageBox 데이터베이스에 보관합니다.
FILE 어댑터
FILE 수신 어댑터는 파일 폴더 또는 UNC 경로에서 메시지를 검색합니다. 경로에 대한 사용 권한이 양쪽 파티에 필요하며 기업들은 일반적으로 파일 시스템을 공유하지 않으므로 이 어댑터는 B2B(Business-to-Business) 시나리오 대신 회사 내부용으로 주로 사용됩니다. FILE 수신 핸들러를 해당 경로에 등록하도록 구성하면 메시지가 수신 위치에 도착할 때 BizTalk Server가 메시지를 검색합니다.
BizTalk Server 동일한 UNC 경로를 구독하는 여러 호스트 컴퓨터에서 호스트 인스턴스를 만들 수 있도록 하여 파일 수신 어댑터에 대한 고가용성을 제공합니다. 한 호스트 컴퓨터에서 실행되는 호스트 인스턴스가 실패하거나 오류가 발생하면 다른 호스트 컴퓨터에서 실행되는 동일한 호스트 인스턴스가 메시지를 검색하고 MessageBox 데이터베이스에 보관할 수 있습니다.
FTP 어댑터
FTP 수신 어댑터는 FTP 프로토콜을 사용하여 대상 시스템에서 파일을 검색하며 FTP 프로토콜은 FTP 수신 어댑터의 여러 인스턴스가 실행될 때 동일한 파일의 여러 사본이 동시에 검색되지 않도록 하기 위해 파일 잠금을 고려하지는 않으므로 여러 호스트에서 실행되도록 구성하면 안 됩니다. FTP 수신 어댑터는 클러스터형 BizTalk 호스트에서 실행되도록 구성해야 합니다. 자세한 내용은 클러스터형 호스트 내에서 어댑터 처리기를 실행하기 위한 고려 사항을 참조하세요.
POP3 어댑터
POP3 수신 어댑터는 메시지를 읽어오는 POP3 서버가 동일한 사서함으로의 동시 다중 연결을 허용하지 않는 한 여러 호스트에서 실행되도록 구성할 수 있습니다. POP3 어댑터가 연결된 POP3 서버가 사서함으로의 동시 다중 연결을 허용할 경우 POP3 어댑터 수신 핸들러가 클러스터링된 BizTalk 호스트 인스턴스에서 실행되도록 구성하여 가용성이 높은 POP3 어댑터를 구현해야 합니다. 자세한 내용은 클러스터형 호스트 내에서 어댑터 처리기를 실행하기 위한 고려 사항을 참조하세요.
MSMQ 어댑터
고가용성을 달성하려면 클러스터형 MSMQ 리소스와 동일한 클러스터 그룹에 있는 Windows 클러스터된 BizTalk 호스트에서 MSMQ 수신 어댑터를 실행합니다. 자세한 내용은 클러스터형 호스트 내에서 어댑터 처리기를 실행하기 위한 고려 사항을 참조하세요.
MSMQ 수신 위치가 원격 MSMQ 서버의 MSMQ 큐에서 만 수신하는 경우 BizTalk 그룹의 여러 BizTalk 컴퓨터에서 MSMQ 수신 호스트를 실행하여 고가용성을 달성할 수 있습니다. MSMQ에 고가용성을 제공하려면 원격 MSMQ 서버가 Windows에서 장애 조치(failover) 클러스터링 사용하고 있는지 확인해야 합니다. 트랜잭션 큐를 사용하는 경우 원격 MSMQ 서버가 MSMQ 4.0(Windows Server 2008) 이상을 실행해야 합니다.
MQSeries 어댑터
MQSeries용 Microsoft BizTalk 어댑터는 BizTalk Server IBM MQSeries 서버 간의 브리지 역할을 합니다. 이 어댑터를 사용할 때 고가용성 솔루션을 제공하려면 MQSeries 어댑터가 실행되는 여러 호스트 인스턴스가 있어야 하며 Windows용 MQSeries에서 클러스터형 큐 관리자를 사용하고 Windows용 MQSeries Server를 클러스터링해야 합니다. 큐 관리자 클러스터링 및 MQSeries Server 클러스터링에 대한 자세한 내용은 IBM WebSphere MQ 설명서를 참조하십시오. MQSeries 어댑터의 가용성을 높이는 방법에 대한 자세한 내용은 MQSeries용 Microsoft BizTalk 어댑터 도움말에서 "고가용성"을 참조하십시오.
Windows SharePoint Services 어댑터
Windows SharePoint Services 어댑터는 BizTalk에 의해 SharePoint 시스템에 설치된 Windows SharePoint Services 웹 서비스를 호출하여 SharePoint에서 메시지를 검색합니다. 이 어댑터는 여러 다른 호스트 인스턴스가 동일한 메시지를 처리하지 않도록 하기 위해 체크 아웃 메커니즘을 사용합니다. 이렇게 하면 호스트 인스턴스를 더 추가하여 수신 어댑터를 스케일 아웃할 수 있습니다. BizTalk Server SharePoint NLB 설치를 가리키는 동일한 HTTP URL을 구독하는 여러 호스트 인스턴스에서 동일한 수신 위치를 실행할 수 있도록 하여 SharePoint 수신 어댑터에 대한 고가용성을 제공합니다.
WCF-NetTcp 어댑터
NetTcpBinding은 IP 레이어 부하 분산 기술을 사용하여 부하를 분산할 수 있습니다. 하지만 NetTcpBinding은 기본적으로 TCP 연결 풀을 사용하여 연결 지연을 줄입니다. 이러한 최적화 작업은 기본 부하 분산 메커니즘과 충돌하게 됩니다. NetTcpBinding 최적화에 사용되는 기본 구성 값은 연결 풀 설정의 일부인 임대 시간 제한입니다. 연결을 풀링하면 클라이언트 연결이 팜 내의 특정 서버와 이루어지게 됩니다. 이러한 연결 수명은 대여 시간 제한 설정으로 제어할 수 있지만 수명이 늘어나면 팜 내 여러 서버 간에 부하 분산 균형이 맞지 않게 됩니다. 결과적으로 평균 호출 시간이 늘어납니다. 따라서 부하 분산 시나리오에서 NetTcpBinding을 사용하는 경우에는 바인딩에 사용되는 기본 대여 시간 제한을 줄이는 것이 좋습니다. 애플리케이션에 따라 최적 값이 다르겠지만 부하 분산 시나리오에 적절한 대여 시간 제한은 30초부터입니다. 채널 임대 시간 제한 및 기타 전송 할당량에 대한 자세한 내용은 전송 할당량을 참조하십시오.