다음을 통해 공유


고가용성 환경의 BAM 인터셉터

이 항목에서는 SQL Server 장애 조치(Failover) 도중 고가용성 환경의 BAM WF 인터셉터 및 BAM WCF 인터셉터에 대한 장애 조치 프로세스를 설명합니다.

BAM WF 인터셉터

고가용성 환경에서 작동하는 경우 BAM WF 인터셉터는 SQL Server 장애 조치 중에 SQL Server 연결 문제가 발생할 때 인터셉터 구성 파일의 검색을 다시 시도합니다. 그러나 SQL Server 장애 조치가 진행 중일 때 BAM 기본 가져오기 데이터베이스에 데이터를 쓰는 경우에는 인터셉터에서 다시 시도하지 않습니다. 이는 절편기가 BAM 기본 가져오기 데이터베이스에 데이터를 쓸 때 WorkflowCommitBatchService 클래스의 동작을 사용했기 때문입니다.

다음 예제에서 DefaultWorkflowCommitWorkBatchService 는 enableRetries="true"를 사용하여 런타임 서비스로 추가되므로 App.config 파일의 코드 조각에 표시된 대로 일괄 처리를 다시 시도합니다.

<add type="System.Workflow.Runtime.Hosting.DefaultWorkflowCommitWorkBatchService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  enableRetries="True"/>

그러나 CommitWorkBatch 메서드가 호출될 때 기존 앰비언트 트랜잭션이 있는 경우 SQL Server 연결을 사용할 수 없는 경우 워크플로 instance 즉시 종료됩니다.

고가용성 환경에서 WorkflowCommitBatchService 클래스의 동작에 대한 자세한 내용은 의 "Windows 워크플로 파운데이션 호스팅 소개"의 "안정성 및 고가용성" https://go.microsoft.com/fwlink/?LinkId=88068섹션을 참조하세요.

BAM WCF 인터셉터

고가용성 환경에서 BAM WCF 인터셉터는 SQL Server 장애 조치 중에 SQL Server 연결 문제가 발생할 때 인터셉터 구성 파일의 검색을 다시 시도하지 않습니다. 따라서 실패를 보정하도록 WCF 코드를 사용자 지정하거나 신뢰할 수 있는 메시징을 사용하여 메시지를 다시 제출해야 합니다.

참고 항목

BAM WF 인터셉터