Service Broker 확장성
Service Broker는 수직 확장(Scale-up)인지 수평 확장(Scale-out)인지에 관계없이 데이터베이스 응용 프로그램을 원활하게 확장할 수 있도록 설계되었습니다. 이 항목에서는 Service Broker를 사용하는 응용 프로그램을 디자인하는 데 필요한 일반적인 지침을 설명합니다.
Service Broker를 활성화하면 처리 능력이 향상되므로 보다 쉽게 응용 프로그램을 수직 확장할 수 있습니다. 대화 그룹 잠금을 통해 서비스 프로그램에서는 경합을 초래하는 가장 일반적인 원인을 쉽게 피할 수 있습니다.
Service Broker 응용 프로그램은 각각 독립적으로 작동할 수 있는 태스크 집합입니다. Service Broker 라우팅을 사용하면 Service Broker를 사용하는 응용 프로그램에서 서비스를 여러 인스턴스로 이동할 수 있습니다. 응용 프로그램이 아니라 Service Broker에서 메시지 라우팅을 처리하므로 응용 프로그램 코드를 변경하지 않고도 서비스를 여러 컴퓨터에 분산시킬 수 있습니다.
확장성을 위해 Service Broker 응용 프로그램을 디자인하는 경우에는 응용 프로그램에서 태스크가 서로 어떻게 관련되는지 주의 깊게 검토하십시오. 일반적으로 수직 확장 시나리오와 수평 확장 시나리오 모두에서 가장 성공적으로 실행되는 서비스는 태스크 간의 구분이 분명하도록 생성된 서비스입니다. 일반적으로 태스크를 서비스로 나눌 때는 해당 태스크를 완료하는 데 필요한 데이터를 고려하십시오. 관련된 두 태스크에서 동일한 데이터를 수정하지 않을 경우 이 두 태스크를 서로 다른 서비스로 구성해야 합니다. 예를 들어 고객 관리 응용 프로그램과 배송 응용 프로그램 모두 고객 주소에 액세스해야 하지만 주소를 수정하는 것은 고객 관리 응용 프로그램뿐입니다. 이 경우 배송 응용 프로그램에 대한 메시지에는 주문을 발송하는 데 필요한 주소 정보가 포함될 수 있습니다. 배송 응용 프로그램과 고객 관리 응용 프로그램에서 동일한 테이블에 액세스할 필요는 없으므로 이 두 태스크는 서로 다른 서비스로 분명하게 구분할 수 있습니다.