共用方式為


服務架構

此章節描述資料庫物件,這些物件會針對使用 Service Broker 的應用程式明確規定其基本設計。

在設計階段,Service Broker 應用程式會指定下列物件:

  • 訊息類型 - 定義在應用程式間交換之訊息的名稱。選擇性提供訊息的驗證。
  • 合約- 指定給定交談中之訊息的方向和類型。
  • 佇列- 儲存訊息。這個儲存機制允許服務之間進行非同步通訊。Service Broker 佇列還提供了其他優點,例如,自動鎖定同一個交談群組中的訊息。
  • 服務- 是交談的可定址端點。Service Broker 訊息會從一個服務傳送至另一個服務。服務會指定要保存訊息的佇列,並指定哪個服務可作為「目標」的合約。合約提供給服務一組定義明確的訊息類型。

Service Broker 應用程式使用先前清單中的 SQL Server 物件來指導交談。可在 SQL Server 中執行 Transact-SQL 陳述式的任何程式都可以使用 Service Broker。應用程式可以是以 Transact-SQL 或 CLR 相容的語言撰寫的預存程序,也可以是連接到 SQL Server 之執行個體的外部程式。

下圖顯示 Service Broker 服務:

Service Broker 物件的關聯性

如圖所示,ProcessExpenses 合約指定了三種類型的訊息:SubmitExpenseAcceptDenyExpenseReimbursementIssued。合約列出執行費用補償工作之交談所需的訊息類型。ProcessExpenses 合約會管理 ProcessExpense 服務和使用 ProcessExpense 服務起始交談的任何服務之間的所有交談。ProcessExpense 服務將內送和外寄訊息儲存在 ExpenseQueue 佇列中。ExpenseProcessing 預存程序會從此佇列接收訊息、處理訊息,並在需要回覆時將訊息傳送回路由至適當 Broker 的佇列。

請參閱

概念

訊息類型
合約
佇列
使用 Service Broker 建立應用程式
服務

其他資源

Service Broker 教學課程

說明及資訊

取得 SQL Server 2005 協助