새 Service Broker

Microsoft SQL Server 2005에서는 안전하고 신뢰할 수 있으며 확장 가능한 데이터베이스 집중형 분산 응용 프로그램을 작성하는 데 사용할 수 있는 Service Broker 기술을 새로 도입했습니다.

Service Broker 설명

Service Broker는 데이터베이스 엔진의 일부입니다. Service Broker는 다음 기능을 제공합니다.

  • SQL Server 데이터베이스에 메시지 큐를 저장하는 기능
  • 응용 프로그램에서 메시지를 보내고 받는 데 사용할 수 있는 새로운 Transact-SQL 문. 각 메시지는 대화의 일부이며 두 참가자가 신뢰할 수 있는 방법으로 지속적으로 통신할 수 있는 채널입니다.

Service Broker는 단일 SQL Server 인스턴스 내의 응용 프로그램과 여러 SQL Server 인스턴스에 작업을 분산하는 응용 프로그램에 고유한 기능을 제공합니다.

Service Broker는 SQL Server 인스턴스 내에서 강력한 비동기 프로그래밍 모델을 제공합니다. 비동기 프로그래밍은 리소스가 사용 가능할 때 리소스 집중형 작업을 수행하므로 데이터베이스 응용 프로그램의 응답 시간이 향상되고 처리량이 증가합니다.

또한 Service Broker는 SQL Server 인스턴스 간에 신뢰할 수 있는 메시징을 제공합니다. Service Broker는 서비스로 설계된 응용 프로그램을 지원합니다. 이 아키텍처에서는 비즈니스 시스템의 논리가 일련의 네트워크 기반 서비스로 구현됩니다. 이러한 서비스에 기능을 노출해야 하는 응용 프로그램은 메시지를 사용하여 해당 서비스와 상호 작용합니다. Service Broker는 TCP/IP를 사용하여 인스턴스 간에 메시지를 교환합니다. Service Broker에는 네트워크로부터의 무단 액세스를 방지하고 네트워크를 통해 전송되는 메시지를 암호화하는 기능이 있습니다.

Service Broker의 프로그래밍 모델은 한 SQL Server 인스턴스 내의 메시지와 여러 SQL Server 인스턴스 간 메시지에 동일하게 적용됩니다. 일관성 있는 프로그래밍 모델을 제공하므로 Service Broker를 사용하는 응용 프로그램은 응용 프로그램 코드를 변경하지 않아도 쉽게 수직으로 확장(Scale-up)하거나 수평으로 확장(Scale-out)할 수 있습니다. 응용 프로그램이 동시에 실행되지 않거나 동시에 네트워크에 연결되지 않는 경우에도 Service Broker를 사용하면 신뢰할 수 있는 메시지 교환이 가능합니다.

Service Broker는 SQL Server에서 메시징을 구현하여 다음과 같은 장점을 제공합니다.

  • 높은 확장성. 메시지 큐가 SQL Server 데이터베이스의 일부이므로 SQL Server 데이터베이스 엔진의 성능 기능을 이용할 수 있습니다. 뿐만 아니라 여러 서비스 인스턴스를 실행하여 큐의 메시지를 처리할 수 있으므로 중간 계층 응용 프로그램의 확장성이 증대됩니다. Service Broker가 제공하는 통합 프로그램 활성화를 통해 응용 프로그램에서는 시스템 리소스를 효율적으로 사용할 수 있습니다. Service Broker 응용 프로그램은 서비스 로드 변화에 따라 동적으로 확장될 수 있습니다.
  • 메시지 조정, 순서 지정 및 잠금. Service Broker는 메시징 응용 프로그램을 만드는 데 필요한 여러 가지 어려운 작업을 자동으로 처리합니다. Service Broker를 사용하는 응용 프로그램은 항상 각 메시지를 대화에서 딱 한 번만 받습니다. 대화의 메시지는 메시지를 보낸 순서대로 도착합니다. 서로 관련이 있는 대화의 메시지는 자동으로 그룹화되므로 응용 프로그램에서 메시지를 다양한 서비스로 쉽게 분배할 수 있습니다. Service Broker는 한 번에 한 판독기만 대화 그룹의 메시지를 읽도록 허용합니다. 응용 프로그램에서는 이러한 기본 제공 잠금을 사용하여 동시 처리를 안전하고 효율적으로 수행할 수 있습니다.
  • 데이터베이스 데이터와의 통합. SQL Server 데이터베이스에 저장된 메시지 큐는 데이터베이스의 일부입니다. 메시지 큐는 데이터베이스 백업에 기본적으로 포함되며 백업에서 데이터베이스를 복원할 때마다 데이터와 함께 복원됩니다. 메시징 작업은 데이터베이스 데이터가 포함된 트랜잭션의 필수 부분입니다. 분산 트랜잭션의 경우 데이터베이스 서버와는 별도의 서비스를 통해 메시지 큐가 관리되므로 트랜잭션을 관리할 필요가 없습니다.
  • 데이터베이스 보안과의 통합. Service Broker는 SQL Server 2005의 보안 기능을 사용하여 응용 프로그램의 보안을 유지합니다.

Service Broker에 대한 자세한 내용은 Service Broker 소개를 참조하십시오.

참고 항목

개념

SQL Server 2005의 새로운 기능

관련 자료

Introduction to Service Broker Programming

도움말 및 정보

SQL Server 2005 지원 받기