다음을 통해 공유


고가용성 BizTalk 호스트 제공

BizTalk Server 논리 호스트를 전략적으로 사용하여 메시지 수신, 메시지 보내기 또는 오케스트레이션 처리와 같은 특정 기능 영역을 실행할 수 있으므로 고가용성 문제를 해결할 수 있는 뛰어난 유연성을 제공합니다.

BizTalk 호스트는 BizTalk Server 그룹 내의 논리적 컨테이너로 어댑터 핸들러, 수신 위치(파이프라인 포함) 및 오케스트레이션과 같은 BizTalk Server 항목을 포함할 수 있습니다. 일반적으로 확장 요구 사항이 유사한 항목을 특정 호스트로 그룹화합니다. 예를 들어 수신 위치를 "receive" 호스트로, 송신 포트를 "send" 호스트로, 오케스트레이션을 "processing" 호스트로 그룹화할 수 있습니다.

호스트(논리 컨테이너)를 만든 후 BizTalk Server 그룹의 물리적 BizTalk Server 컴퓨터에서 실행되도록 호스트 인스턴스를 구성할 수 있습니다. 호스트 instance 지정된 BizTalk Server 컴퓨터에서 Windows 서비스로 실행됩니다. 지정된 BizTalk Server 컴퓨터에서 동일한 호스트의 여러 인스턴스를 실행할 수는 없지만 BizTalk Server 그룹의 별도의 BizTalk Server 컴퓨터에서 호스트 인스턴스를 구성하여 특정 호스트의 여러 인스턴스를 실행할 수 있습니다. 단일 BizTalk Server 컴퓨터에서 서로 다른 호스트의 여러 인스턴스를 실행할 수도 있습니다.

BizTalk 호스트에 포함된 항목은 다음과 같은 기능을 수행할 수 있습니다.

  • 수신 이러한 항목은 수신 위치에서 선택한 후 메시지의 초기 처리를 수행합니다. 호스트에 수신 위치나 파이프라인과 같은 수신 항목이 포함되어 있으면 호스트는 보안 경계의 역할을 하며 호스트 내의 파이프라인에서 메시지 디코딩 및 암호 해독이 발생합니다.

  • 보내는 이러한 항목은 송신 포트로 전송되기 전에 메시지의 최종 처리를 수행합니다. 호스트에 송신 포트나 파이프라인과 같은 송신 항목이 포함되어 있으면 호스트는 보안 경계의 역할을 하며 호스트 내의 파이프라인에서 메시지 서명 및 암호화가 발생합니다.

  • 처리 이러한 항목은 오케스트레이션의 지침에 따라 메시지를 처리합니다.

    메시지를 받고 보내고 처리하는 항목들을 단일 BizTalk 호스트에 포함할 수도 있지만, 보안 경계를 생성하고 관리 및 확장을 쉽게 수행할 수 있도록 각 기능에 대해 서로 다른 호스트를 만드는 것이 가장 바람직합니다. 특히 처리 작업과 수신/송신 작업에 다른 호스트를 사용하고 신뢰할 수 있는 항목과 신뢰할 수 없는 항목을 분리하는 것이 바람직합니다.

    예를 들어 메시지 한 개를 수신하고 오케스트레이션을 실행한 후 메시지 10개를 송신하는 경우 송신 항목이 수신 항목보다 10배 더 많은 트래픽을 발생시키므로 수신 기능과 송신 기능을 별도의 두 호스트로 분리할 수 있습니다. 메시지 한 개를 수신하고 오케스트레이션을 실행한 후 메시지 한 개를 송신하는 경우 이러한 항목을 하나의 작업 단위로 간주하여 단일 호스트로 그룹화할 수 있습니다. 또는 서로 다른 여러 호스트로 분리하여 성능과 유연성을 높일 수도 있습니다.

    BizTalk 호스트는 In-process 또는 Isolated의 두 가지 유형 중 하나입니다. in-process 호스트는 BizTalk Server 런타임 프로세스 내에서 실행되는 반면 격리된 호스트는 BizTalk Server 런타임 프로세스에서 실행되지 않습니다. 다음 표는 이러한 각 호스트 유형에 포함될 수 있는 항목을 보여 줍니다.

호스트 유형 논리적 컨테이너
In Process -오케스트레이션
- 어댑터 송신 처리기
- HTTP 및 SOAP 이외의 어댑터 수신 처리기
격리 HTTP 및 SOAP 수신 핸들러

호스트 및 호스트 인스턴스에 대한 자세한 내용은 BizTalk 호스트 및 호스트 인스턴스 관리를 참조하세요.

BizTalk 호스트에 고가용성을 제공하려면 환경의 각 호스트에 대해 두 개 이상의 호스트 인스턴스가 있어야 합니다(둘 이상의 BizTalk Server 컴퓨터에서). 각 호스트에 대해 둘 이상의 호스트 인스턴스가 있으면 한 호스트 인스턴스를 사용할 수 없을 때 동일한 호스트의 인스턴스가 실행되는 다른 컴퓨터에서 문제가 있거나 실패한 호스트 인스턴스의 기능을 다시 시작할 수 있으며 중단을 최소화하면서 전체 시스템을 계속 작동할 수 있습니다.

메시지 지속성

BizTalk Server BizTalk Server 관련된 모든 호스트가 BizTalk MessageBox 데이터베이스에 메시지를 유지하므로 고가용성을 위해 SQL Server 많이 사용합니다. 예를 들어 BizTalk Server 들어오는 메시지를 받으면 수신 호스트는 다른 호스트가 오케스트레이션 처리 및 보내기를 위해 메시지를 검색하기 전에 MessageBox 데이터베이스에 유지합니다.

BizTalk Server 솔루션이 오케스트레이션과 관련된 경우 BizTalk Server는 비즈니스 프로세스를 실행하는 호스트(처리 호스트)로 메시지를 라우팅하고 오케스트레이션이 완료된 후에 MessageBox 데이터베이스에 메시지를 저장합니다. 그러면 송신 호스트는 해당 송신 어댑터를 통해 외부 응용 프로그램으로 메시지를 송신하기 전에 MessageBox 데이터베이스에서 메시지를 검색합니다.

호스트 및 데이터베이스 기능 분리

BizTalk Server 데이터를 처리하는 호스트에서 데이터를 분리하므로 고가용성 환경을 만들기 위해 수행할 수 있는 한 단계는 BizTalk Server 발생하는 호스트 함수(송수신 및 처리)를 SQL Server 발생하는 데이터베이스 함수와 분리하는 것입니다. 이러한 기능을 분리하면 처리, 송신 및 수신 호스트와 데이터를 저장하는 데이터베이스를 독립적으로 확장할 수 있습니다. 런타임 및 데이터베이스 계층은 관련이 있습니다. 즉, BizTalk Server 컴퓨터 수를 늘리면 추가 부하를 처리하기 위해 SQL Server 실행하는 컴퓨터 수를 늘려야 할 수 있습니다. 그러나 데이터베이스 계층과 BizTalk 계층 간에 직접적인 관계는 없습니다. 이들은 독립된 두 계층이며 별도로 확장할 수 있습니다.

호스트의 가용성을 높이기 위해 수행해야 하는 작업과 데이터베이스의 가용성을 높이기 위해 수행해야 하는 작업은 다릅니다. 다음 섹션에서는 수신, 송신 및 처리 호스트의 가용성을 높이기 위해 수행해야 하는 작업에 대해 설명합니다. 데이터베이스 계층을 고가용성으로 만드는 방법에 대한 자세한 내용은 BizTalk Server 데이터베이스에 고가용성 제공을 참조하세요.

BizTalk Server 프로세스가 SQL Server 프로세스보다 더 많은 배포 환경의 경우 SQL Server 실행 컴퓨터와 동일한 컴퓨터를 사용하는 BizTalk Server 컴퓨터를 여러 대 구성할 수 있습니다. 이러한 구성에서는 각 컴퓨터의 가용 리소스를 사용합니다. 예를 들어 BizTalk Server 컴퓨터의 CPU 또는 메모리 사용량은 높지만(75% 이상) SQL Server 실행 컴퓨터는 낮은 경우(25% 미만) BizTalk Server 컴퓨터 수를 늘려 작업 부하를 분산시키는 한편 SQL Server 실행 컴퓨터의 리소스 사용률은 높일 수 있습니다.

섹션 내용

참고 항목

BizTalk Server 데이터베이스의 가용성 향상
고가용성 Enterprise Single Sign-On