编写一个长时间运行的pubsub服务器/服务c#

编写一个长时间运行的pubsub服务器/服务c#,c#,.net,system.reactive,publish-subscribe,pubnub,C#,.net,System.reactive,Publish Subscribe,Pubnub,我一直在玩pubsub,到目前为止,它看起来很适合我的需要(一个基本的游戏实验) 从Javascript和移动的角度(通过Appcelerator的Tianium),我可以真正看到使用pubsub的价值 但是,我需要在c#/.NET中编写一个服务器应用程序(尽管对其他想法持开放态度),以侦听我拥有的订户队列,并处理消息。。这涉及一些决策等,然后可能会向发布队列写入另一条消息 到目前为止,我已经使用了C#的RX(反应式扩展),它在我的订阅频道上收听。到目前为止还不错,我看到了这些消息,尽管目前我只

我一直在玩pubsub,到目前为止,它看起来很适合我的需要(一个基本的游戏实验)

从Javascript和移动的角度(通过Appcelerator的Tianium),我可以真正看到使用pubsub的价值

但是,我需要在c#/.NET中编写一个服务器应用程序(尽管对其他想法持开放态度),以侦听我拥有的订户队列,并处理消息。。这涉及一些决策等,然后可能会向发布队列写入另一条消息

到目前为止,我已经使用了C#的RX(反应式扩展),它在我的订阅频道上收听。到目前为止还不错,我看到了这些消息,尽管目前我只是编写了一个C#console应用程序进行测试

我的问题是,等待和监听pubsub订户消息的最佳方式是编写windows服务应用程序吗?还是有其他更合适的方法?显然,在某些可能的情况下,我可能不得不将服务器扩展到2-3台服务器,但是考虑到pubsub队列/消息传递的性质,如果我有一些负载平衡等,我看不出有什么问题


欢迎有任何想法

使用服务总线。当云对您有好处时,请使用Azure服务总线。如果不是这样,那就乘公共汽车吧。再看看RabbitMQ,它是AMQP框架,能够比pubsub做得更多。另外,rabbit在多个PlatoRM上有多个客户端。例如,纯JavaScript的一种方法是RabitMQ+Node.js+WebSockets

所有客户机和devtools,以及关于不同平台和语言的RabbitMQ的文章都是免费的

NET还有一个特殊的RabbitMQ绑定,请查找它

NServiceBus PubSub解释为。它是.NET服务总线,但不像RabbitMQ那样免费。无论如何,RabbitMQ是平台无关的

任何服务总线实现都已经有了PubSub,这就是它们存在的原因。因此,没有理由实施已经实施的措施