다음을 통해 공유


라우팅 개요

서비스 지향 아키텍처 솔루션을 디자인하는 경우 사용자 지정 가능한 규칙 집합을 기반으로 들어오는 메시지를 해당 대상으로 라우트하는 매개자 서비스를 만드는 것이 유용할 때가 많습니다. 매개자 서비스를 사용하면 다음과 같은 이점이 있습니다.

  • 내용 기반 라우팅

    • 서비스 집계

    • 서비스 버전 관리

    • 우선 순위 라우팅

  • 프로토콜 브리징

  • 오류 처리

위에 나열된 이점을 제공하는 매개자 서비스를 만들 수는 있지만 종종 이러한 구현이 특정 시나리오나 솔루션으로 제한되어 새 응용 프로그램에 적용되지 않을 수 있습니다.

라우팅 서비스는 동적으로 구성 가능한 플러그형 제네릭 SOAP 매개자를 제공합니다. 이 매개자는 WCF 서비스 및 채널 모델을 사용하여 구성되고 SOAP 기반 메시지의 내용 기반 라우팅을 수행하는 데 사용됩니다.

Ee517423.note(ko-kr,VS.100).gif참고:
라우팅 서비스는 현재 WCF REST 서비스의 라우팅을 지원하지 않습니다. REST 호출을 라우트하려면 System.Web.Routing 또는 Application Request Routing(https://go.microsoft.com/fwlink/?LinkId=164589)을 사용합니다.

내용 기반 라우팅

내용 기반 라우팅은 메시지에 들어 있는 하나 이상의 값을 기반으로 메시지를 라우트할 수 있는 기능입니다. 라우팅 서비스는 각 메시지를 검사하고 메시지 내용과 사용자 제공 라우팅 논리를 기반으로 메시지를 대상 끝점에 라우트합니다. 내용 기반 라우팅은 서비스 집계, 서비스 버전 관리 및 우선 순위 라우팅에 대한 기초를 제공합니다.

라우팅 서비스를 사용하면 내용 기반 라우팅을 수행하는 데 사용되는 논리를 구성할 수 있을 뿐 아니라 런타임에 라우팅 논리를 동적으로 업데이트할 수 있습니다.

서비스 집계

내용 기반 라우팅을 사용하면 외부 클라이언트 응용 프로그램의 메시지를 받는 하나의 끝점을 노출한 다음 메시지에 들어 있는 값을 기반으로 각 메시지를 적절한 내부 끝점으로 라우트할 수 있습니다. 이는 다양한 백엔드 응용 프로그램에 대해 하나의 특정 끝점을 제공하거나 다양한 서비스로 응용 프로그램을 팩터링하는 동안 고객에게 하나의 응용 프로그램 끝점을 제공할 때 유용합니다.

서비스 버전 관리

새 버전의 솔루션으로 마이그레이션하는 경우 기존 고객을 지원하기 위해 이전 버전도 함께 유지 관리해야 할 수 있습니다. 이를 위해 새 버전에 연결하는 클라이언트가 솔루션과 통신할 때 다른 주소를 사용해야 하는 경우가 종종 있습니다. 라우팅 서비스를 사용하면 메시지에 들어 있는 버전 관련 정보를 기반으로 메시지를 적절한 솔루션으로 라우트하여 두 버전의 솔루션을 모두 지원하는 하나의 서비스 끝점을 노출할 수 있습니다.

우선 순위 라우팅

여러 클라이언트에 서비스를 제공하는 경우 일부 파트너와의 SLA(서비스 수준 계약)가 있을 수 있습니다. SLA는 해당 파트너의 모든 데이터를 다른 클라이언트의 데이터와 별도로 처리하도록 요구하는 계약입니다. 메시지에 들어 있는 고객 관련 정보를 검색하는 필터를 사용하면 특정 파트너의 메시지를 해당 파트너의 SLA 요구 사항을 충족시키기 위해 만들어진 끝점으로 손쉽게 라우트할 수 있습니다.

프로토콜 브리징

매개자 시나리오의 과제 중 하나는 메시지가 수신되는 끝점과 다른 전송 또는 SOAP 버전 요구 사항이 내부 끝점에 있을 수 있다는 것입니다. 이 시나리오를 지원하기 위해 라우팅 서비스는 SOAP 메시지를 대상 끝점에 필요한 MessageVersion으로 처리할 뿐 아니라 프로토콜을 브리징할 수 있습니다. 그러면 한 프로토콜은 내부 통신용으로 사용하고 다른 한 프로토콜은 외부 통신용으로 사용할 수 있습니다.

오류 처리

내부자의 또 다른 과제는 대상으로 전송하는 중에 발생하는 오류를 처리해야 한다는 것입니다. 라우팅 서비스를 사용하면 기본 대상으로 보낼 때 통신 오류가 발생하는 경우 메시지를 보내는 데 사용할 추가 끝점을 정의할 수 있습니다. 이렇게 하면 네트워크 오류나 기타 통신 오류에 대비해서 여러 개의 중복된 서비스 복사본을 백업용으로 배포할 수 있습니다.