Share via


서비스 아키텍처

이 섹션에서는 Service Broker를 사용하는 응용 프로그램의 기본 디자인을 지정하는 데이터베이스 개체를 설명합니다.

Service Broker 응용 프로그램은 디자인 타임에 다음 개체를 지정합니다.

  • 메시지 유형 - 응용 프로그램 간에 교환된 메시지의 이름을 정의합니다. 필요에 따라 메시지에 대한 유효성 검사를 제공합니다.

  • 계약- 특정 대화의 메시지 방향 및 유형을 지정합니다.

  • 큐- 메시지를 저장합니다. 이 저장 메커니즘은 서비스 간 비동기 통신을 허용합니다. Service Broker 큐는 같은 대화 그룹의 메시지 자동 잠금과 같은 추가 이점을 제공합니다.

  • 서비스- 대화에 대해 주소를 지정할 수 있는 끝점입니다. Service Broker 메시지는 한 서비스에서 다른 서비스로 전송됩니다. 서비스는 메시지를 보관할 큐를 지정하고 대상이 될 수 있는 서비스에 계약을 지정합니다. 계약은 서비스에 잘 정의된 메시지 유형 집합을 제공합니다.

Service Broker 응용 프로그램은 위에서 설명한 SQL Server 개체를 사용하여 대화를 수행합니다. SQL Server의 Transact-SQL 문을 실행할 수 있는 모든 프로그램은 Service Broker를 사용할 수 있습니다. 응용 프로그램은 Transact-SQL 또는 CLR 호환 언어로 작성된 저장 프로시저이거나 SQL Server의 인스턴스에 연결되는 외부 프로그램일 수 있습니다.

다음 다이어그램에서는 Service Broker 서비스를 보여 줍니다.

Service Broker 개체 관계

그림에서와 같이 ProcessExpenses 계약은 세 가지 메시지 유형 SubmitExpense, AcceptDenyExpenseReimbursementIssued를 지정합니다. 계약은 비용 보상 태스크를 수행하는 대화에 필요한 메시지 유형을 나열합니다. ProcessExpenses 계약은 ProcessExpense 서비스 간의 대화와 ProcessExpense 서비스로 대화를 시작하는 모든 대화를 제어합니다. ProcessExpense 서비스는 들어오는 메시지와 나가는 메시지를 ExpenseQueue 큐에 저장합니다. ExpenseProcessing 저장 프로시저는 이 큐에서 메시지를 받아서 처리한 다음 회신이 필요한 경우 해당 Broker로 라우팅하는 데 사용하는 큐로 메시지를 다시 보냅니다.

섹션 내용

  • 메시지 유형
    대화 참가자는 각 메시지의 이름과 내용에 동의해야 합니다. 메시지 유형은 이름과 내용을 정의합니다.

  • 계약
    계약은 응용 프로그램에서 특정 태스크를 수행하는 데 사용하는 메시지 유형을 정의합니다.


  • 큐는 Service Broker 메시지를 저장합니다.

  • 서비스
    Service Broker 서비스는 특정 비즈니스 태스크 또는 비즈니스 태스크 집합의 이름입니다.