Service Broker를 사용한 프로그래밍의 장점

오늘날 많은 데이터베이스 응용 프로그램에 큐 기능 및 비동기 메시징이 필요합니다. Service Broker는 이러한 요구를 해결하기 위해 새로운 큐 기반의 지속성 높은 메시징 프레임워크를 제공합니다. Service Broker에서 제공되는 Transact-SQL API를 사용하면 쉽게 서비스를 개발하여 큐 기능 또는 비동기 통신의 응용 프로그램 요구 사항을 처리할 수 있습니다.

Service Broker를 사용한 프로그래밍의 몇 가지 장점은 다음과 같습니다.

  • 유연한 개발: 단일 분산 응용 프로그램에 사용되는 프로그램은 여러 언어로 작성될 수 있습니다. 각 프로그램은 각 분산 응용 프로그램 구성 요소의 기능을 제공합니다.

  • 향상된 보안: 응용 프로그램 구성 요소가 같은 보안 컨텍스트를 공유할 필요가 없도록 인증서를 통해 보안 요구 사항을 표시할 수 있습니다. Service Broker는 SQL Server 보안 기능을 사용하여 응용 프로그램 보안에 도움을 줍니다.

  • 트랜잭션 처리: 메시지 처리는 데이터 무결성을 보장할 수 있도록 SQL Server 트랜잭션 내에서 발생합니다. Service Broker는 데이터베이스에 대한 표준 연결을 통해 원격 트랜잭션 메시징을 지원합니다.

  • 보장된 순서: Service Broker는 관련 메시지 집합이 한 번만 순서대로 배달 및 처리되도록 보장하므로 이 기능을 제공하기 위해 추가 코딩이 필요하지 않습니다.

  • 안정적인 배달: 두 개 이상의 서비스 간 관련 통신 집합인 대화에 필요한 모든 데이터가 SQL Server에서 유지됩니다. Service Broker는 클러스터링 및 데이터베이스 미러링을 지원합니다. 대화는 시스템 다시 시작, 서버 장애 조치(Failover), 네트워크 작동 중단 등의 경우에도 오류 또는 데이터 손실 없이 유지될 수 있습니다.

  • 향상된 확장성: Service Broker 라우팅은 서비스가 실행되는 컴퓨터의 네트워크 주소 대신 서비스의 이름을 기반으로 메시지를 배달합니다. 따라서 응용 프로그램 코드를 변경하지 않고도 여러 컴퓨터에 응용 프로그램을 설치할 수 있습니다.

  • 기존 지식 활용 기능: Service Broker는 Transact-SQL을 사용하여 개체를 만듭니다. Service Broker를 사용하는 응용 프로그램은 주로 Transact-SQL 또는 Microsoft .NET Framework 호환 언어로 구현됩니다. Service Broker 응용 프로그램을 만들기 위해 새 언어를 학습할 필요는 없습니다.