我有一個由8個服務器組成的分佈式應用程序,所有服務器都運行.NET windows服務。每個服務都會查詢數據庫以查找可用的工作包。分佈式系統:sql服務器代理實現
輪詢機制對於其他原因很重要(現在太無聊了)。
我在考慮這個輪詢機制最好在隊列中實現,因爲.NET服務都將定期輪詢數據庫,並且在負載不足時我不想死鎖。
我在想我會希望每個.NET服務都將消息放入輸入隊列。數據庫服務器將一次一個地彈出輸入隊列的每條消息,對其進行處理,並將回覆消息放在另一個隊列中。
我遇到的問題是SQL Server Broker(SSB)的大多數示例都位於數據庫服務之間,而不是從.NET客戶端啓動。我想知道SQL Server Broker是否只是這項工作的錯誤工具。我發現代理T-SQL DML可從.NET獲得,但我認爲這應該起作用的方式似乎不適合SSB。
我認爲我需要一個帶有2個隊列(進出)和單個激活存儲過程的SSB服務。
這似乎不是SSB的工作方式,我錯過了什麼嗎?
歡迎計算器。您已經提出了一個很好的問題,但它可能會在http://dba.stackexchange.com或http://serverfault.com上得到更好的回覆 – Stewbob