2014-01-27 61 views
0

目前我正在組建一個異步TCP服務器,一切似乎都在一起,但即時通訊現在在我需要弄清楚如何處理數據的階段收到(我應該提到它將主要用於接收數據,並且可能永遠不會向客戶端發送任何內容)。SQL Server隊列VS MSMQ(異步TCP服務器)

由於它是異步寫入的,我不特別想在服務器應用程序本身(在接收數據的處理程序中)對數據進行任何處理,以確保它儘可能優化地執行,儘管最終數據需要處理並提交給各種sql表格才能使用。

由於對SO

Asynchronous Processing of Data

斯蒂芬顯然曾指出,以確保沒有消息丟失因停電而這裏以前問的問題的一部分,系統故障等我應該尋找到某種消息隊列。

在這樣做的過程中,我已經看到了這樣做的各種方式,其中之一是使用SQL Server作爲隊列的主機。

什麼即時通訊使用SQL Service Broker和隊列將比正常插入到只包含一個UID,數據(字節數組不大於1024字節)和處理標誌?如果不是最快的插入在C#中使用什麼是最快的插入使用C#

上述數據的處理可能會發生在另一個應用程序在同一臺服務器上,它也將接收數據和主機的sql服務器,如果有什麼區別。

任何意見或想法將不勝感激!

回答

0

如果您可以承擔許可費,我會建議NServiceBus。如果您買不起,請考慮MassTransit。這兩者都將爲您管理消息隊列。他們都支持多種隊列類型,如:

  1. MSMQ
  2. 的RabbitMQ
  3. ActiveMQ的
  4. 天青

在SQL Server中實現自己的排隊系統是從長遠來看,一個糟糕的選擇。去過那裏,拿到了T恤。