新的 Service Broker
Microsoft SQL Server 2005 導入 Service Broker,它是一項新技術,用來建立安全、可靠、可擴充的大量資料庫分散式應用程式。
Service Broker 描述
Service Broker 是 Database Engine 的一部份。Service Broker 提供:
- 在 SQL Server 資料庫中儲存訊息佇列的機能。
- 應用程式可用來傳送及接收訊息的 Transact-SQL 陳述式。每一個訊息是對話的一部份:兩參與者之間一個可靠、持續的通訊通道。
Service Broker 同時提供特有功能給單一 SQL Server 執行個體內的應用程式,以及在多個 SQL Server 執行個體上散發工作的應用程式。
在 SQL Server 執行個體內,Service Broker 提供功能強大的非同步程式設計模型。非同步程式設計會在資源變成可使用時執行資源密集作業,讓資料庫應用程式能夠改進回應時間及增加輸送量。
Service Broker 也在 SQL Server 執行個體之間提供可靠的傳訊。Service Broker 支援將應用程式的觀點建構為服務。在這個架構中,商務系統的邏輯是以一系列網路型服務來實作。需要在這些服務中公開功能的應用程式,使用訊息與服務互動。Service Broker 使用 TCP/IP 來交換執行個體之間的訊息。Service Broker 包含一些功能來幫助防止未獲授權者從網路存取,以及加密透過網路傳送的訊息。
在 SQL Server 執行個體內的訊息與在 SQL Server 執行個體之間的訊息,Service Broker 的程式設計模型是相同的。藉由提供一致的程式設計模型,使用 Service Broker 的應用程式可以輕易地向上或向外延展,而不需要變更應用程式碼。應用程式使用 Service Broker 可靠地交換訊息,即使應用程式沒有同時執行,或沒有同時連接到網路也一樣。
藉由在 SQL Server 中實作傳訊,Service Broker 提供了這些好處:
- 高延展性。訊息佇列是 SQL Server 資料庫的一部份,可利用 SQL Server Database Engine 的效能功能。此外,可執行服務的多個執行個體來處理佇列的訊息,增加中介層應用程式的延展性。Service Broker 提供整合式程式啟動,讓應用程式能夠有效率地使用系統資源。Service Broker 應用程式可依服務的負載不同而動態延展。
- 訊息協調、排序和鎖定。Service Broker 自動處理建立傳訊應用程式時需要的許多不同作業。使用 Service Broker 的應用程式在一次交談中一律接收每一個訊息一次。交談中的訊息依傳送的順序抵達。在相關交談中的訊息會自動分組,讓應用程式輕易協調不同服務的訊息。Service Broker 一次只允許一個讀者讀取交談群組中的訊息。應用程式使用這個內建鎖定功能,安全而有效地執行並行處理。
- 與資料庫資料的整合。儲存在 SQL Server 資料庫中的訊息佇列是資料庫的一部份。它們變成任何資料庫備份整體的一部份,每當資料庫從備份中還原時,它們會隨著資料一起還原。訊息作業是包含資料庫資料的任何交易整體的一部份。不需要管理分散式交易,因為訊息佇列是由與資料庫伺服器分開的服務來管理。
- 與資料庫安全性的整合。Service Broker 使用 SQL Server 2005 中的安全性功能來協助保護應用程式的安全。
如需有關 Service Broker 的詳細資訊,請參閱<Service Broker 簡介>。
請參閱
概念
其他資源
Introduction to Service Broker Programming