다음을 통해 공유


병렬 호위

병렬 호위(convoy)를 사용하면 여러 개의 단일 메시지를 결합하여 원하는 결과를 얻을 수 있습니다. 관련 메시지 집합은 임의의 순서로 도착할 수 있지만 BizTalk Server는 프로세스를 시작하기 전에 모든 메시지를 받아야 합니다.

예를 들어 병원에 새 환자가 입원할 경우 보험 정보, 과거 병력 및 연락처와 같이 다양한 환자 정보가 필요하게 됩니다. 보험 전문가, 간호사 및 접수원을 비롯한 많은 사람들이 이러한 정보를 수집하고 다양한 시스템을 통해 이러한 정보를 처리합니다. 이러한 정보의 수집 및 전송 순서는 보장되지 않습니다. 예를 들어 정보 수집자가 다른 환자 때문에 바쁘거나, 의무 기록 부서의 일이 밀려 있거나, 보험 시스템이 올바르게 작동하지 않을 수 있습니다. 환자 정보에 대한 정리 작업은 환자가 병원에 있는 동안 항상 효율적인 방식으로 이루어져야 합니다. 이렇게 하면 환자가 적절한 치료를 받고 정확한 병원비를 청구 받을 수 있습니다.

위 시나리오는 병렬 호위 메시지 처리가 필요한 비즈니스 시나리오의 예입니다. 여기서는 환자가 병원에 입원하기 전에 세 가지 유형의 메시지를 받아야 하는 것이 비즈니스 요구 사항입니다. 이 세 가지 메시지는 Insurance, History 및 Patient입니다. 환자에 대해 이러한 메시지 중 어떤 메시지가 먼저 도착할 것인지는 알 수 없으며 이에 따라 경합 상태가 발생합니다. 이 문제를 resolve 위해 3개의 수신 셰이프가 병렬 작업 셰이프에 배치되고 각 수신은 활성화 = True로 표시됩니다. 이렇게 하면 세 개의 메시지 중 어느 메시지라도 오케스트레이션을 시작할 수 있게 됩니다. 오케스트레이션 인스턴스는 다른 두 개의 메시지가 도착할 때까지 대기한 다음 처리를 계속합니다.

병렬 호위 구현

BizTalk Server에서 "상관 관계가 지정된 병렬 수신" 메시징 디자인 패턴을 사용하여 병렬 호위를 구현할 수 있습니다. 병렬 상관 관계가 있는 수신은 병렬 작업 셰이프의 두 개 이상의 분기에서 상호 관련된 수신 문입니다. 상관 관계가 둘 이상의 병렬 작업에서 초기화되는 경우 상관 관계가 지정된 각 수신은 정확히 같은 상관 관계 집합을 초기화해야 합니다. 상관 관계가 있는 메시지를 받는 첫 번째 작업은 실제 초기화를 수행하고 오케스트레이션의 병렬 작업 셰이프에 있는 다른 작업에 대해 유효성 검사가 수행됩니다.

병렬 호송 구현의 예는 의 SDK 샘플 "병렬 호송"을 참조하세요 https://go.microsoft.com/fwlink/?LinkId=73703.

참고 항목

호송 시나리오순차적 호송 작업