2012-05-12 49 views
1

我一直在玩pubsub,到目前爲止它看起來不錯,我需要(基本的遊戲實驗)。編寫一個長時間運行的pubsub服務器/服務c#

從Javascript的角度和移動(通過Appcelerator的鈦)我真的可以看到使用pubsub的價值。但是,我需要在c#/。NET中編寫一個服務器應用程序(儘管對其他想法開放)來監聽我擁有的用戶隊列,並處理消息......這涉及到某些決策等,然後可能例如,向發佈隊列寫入另一條消息。

到目前爲止,我已經玩過C#的RX(Reactive Extensions),它在我的訂閱頻道上收聽。到目前爲止,我看到了這些消息,儘管現在我只寫了一個C#控制檯應用程序來測試。

我的問題是等待和聽取pubsub訂閱者消息的最佳方式是編寫一個Windows服務應用程序?還是有另一種更合適的技術?顯然,在某些可能的情況下,我可能不得不將服務器擴展到2-3臺服務器,但考慮到pubsub隊列/消息傳遞的性質,如果我有一些負載平衡等,我沒有看到問題。

任何想法歡迎!

回答

3

使用服務總線。當雲對你有好處時,比Azure服務總線。當不是那麼nServiceBus。還要看看RabbitMQ,它是AMQP框架,並且能夠做更多的事情,然後是pubsub。另外兔子在多臺平臺上有多個客戶。例如,純粹用於JavaScript的方法之一是RabitMQ + Node.js + WebSockets。

所有的客戶端和devtools,以及關於不同平臺和語言的RabbitMQ的文章是here

也有特殊的RabbitMQ綁定爲.NET,找到它here

NServiceBus PubSub說明是here。它是.NET服務總線,但不像RabbitMQ那樣免費。無論如何,RabbitMQ是平臺不可知的。

任何服務總線實現已經有PubSub,這就是它們存在的原因。因此沒有理由實施,已經實施了什麼