Notification Services 的安全性、可靠性、延展性及可用性
企業的系統必須安全、可靠、可延展與可用。Microsoft SQL Server Notification Services 在程式設計架構以及在伺服器執行 Notification Services 的架構下,都能滿足這些要求。
安全性
Notification Services、Microsoft .NET Framework 及 SQL Server 納入的設計功能,可供應用程式開發人員及系統管理員針對應用程式及整體部署來強制實施端對端的安全性:
- Notification Services 使用業界標準的 Web 安全性模型,讓您可以透過有線及無線裝置跨網際網路進行通訊。其會使用標準的 Microsoft Windows 安全機制和以 SQL Server 2005 為基礎的安全機制來保護伺服器。
- 個別的 Notification Services 執行個體會採用以 SQL Server 2005 為基礎的安全機制互相隔離。如此可確保多個執行個體能夠裝載到同一部電腦,同時又能保障每個個別的執行個體的安全。如果您想要完全隔離執行個體,請不要在同一個資料庫中放置多個執行個體,因為執行個體會共用資料庫角色。
- 個別的訂閱者也會因為通知產生與散發的方式而互相隔離。因此,每個訂閱都會視為是系統中唯一的訂閱來進行處理。
- 條件動作 (支援對已定義的一組資料進行使用者定義的查詢) 需要獨立的資料庫使用者帳戶,以確保使用者無法存取伺服器上的其他資料。
- 應用程式開發人員可藉由定義自己的事件提供者,來延伸 Notification Services。它們是以 .NET Framework 支援的 Managed 程式碼來執行,因此可確保不影響伺服器的安全性。
可靠性
SQL Server 2005 Database Engine 以可靠的方式儲存資料,對 Notification Services 非常有幫助,如下所述:
- Notification Services 管理的訂閱資料儲存在 SQL Server 2005,它是一種非常穩固的資料庫伺服器,支援預寫記錄及容錯移轉叢集。
- 在 Notification Services 中,事件、訂閱及通知的處理是完全交易式,因此可提供額外的可靠性保證。請注意,部份傳遞通訊協定 (例如 Simple Mail Transfer Protocol,或稱 SMTP) 並不保證訊息的傳遞;然而,Notification Services 平台設置有重試邏輯,可啟用應用程式重傳訊息以再度嘗試傳遞。
而且 Notification Services 使用自訂元件的 Managed 程式碼,所以能夠確保自訂元件不會影響系統的穩定。應用程式開發人員可建立可靠的事件提供者及可靠的傳遞通訊協定,例如根據「訊息佇列」(也稱為 MSMQ),因此可達成完全的端對端可靠性。
延展性
Notification Services 支援在多處理器、以 Windows 為基礎的伺服器中,每分鐘有數千個內送事件、有數百萬訂閱者相符,以及每分鐘傳遞數千個通知的高處理量應用程式。應用程式能以數種方式來擴充:
- 訂閱管理介面可以同時執行,獲取基礎 SQL Server Database Engine 的最大效益。
- 在多處理器的電腦上執行時,Notification Services 為多執行緒且能直向擴充。
- Notification Services 服務可以部署在一台伺服器上,而 Notification Services 資料庫則可以部署在另一台伺服器上。因為通知的產生是在資料庫伺服器執行,而通知的格式化是在 Notification Services 伺服器執行,因此這種組態會非常有效率。
- 單一執行個體可支援多個事件提供者及多個散發者。您可以橫跨多台伺服器散發事件提供者、產生器及散發者。部署中如需處理大量的通知,以及其他重要的格式化及傳遞工作,擴充散發者的能力便相形重要。
- 若要進一步擴充,可跨多個 Notification Services 執行個體來分割訂閱,使各個訂閱可獨立作業。因為應用程式模型讓訂閱彼此獨立,所以這樣分割原屬自然,可使通知應用程式具有很強的延展能力。您必須在應用程式實作訂閱分割。Notification Services 不會為您自動分割訂閱。
可用性
在 Notification Services 的執行個體中,所有資料及狀態都在 SQL Server 資料庫伺服器中維護。只有暫時性的資料才在事件提供者、產生器及散發者中維護。
進行資料儲存和處理的 SQL Server 2005,是一種可靠的資料庫伺服器,具有各種高可用性的技術,包括容錯移轉叢集、記錄傳送以及交易式複寫。資料庫伺服器可設定為自動處理硬體錯誤。
請參閱
概念
Notification Services 是什麼?
Notification Services 的使用狀況
Notification Services 架構
Notification Services 程式設計架構
Notification Services 部署選項
Notification Services 與其他技術
Notification Services 的版本