1

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

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

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

到目前为止,我已经使用了 C# 的 RX(反应式扩展),它在我的订阅频道上收听。到目前为止一切顺利,我看到了消息,虽然现在我只是写了一个 C# 控制台应用程序来测试。

我的问题是等待和收听 pubsub 订阅者消息的最佳方式是编写一个 Windows 服务应用程序吗?还是有另一种更合适的技术?显然在某些可能的点上,我可能不得不将服务器扩展到 2-3 个服务器,但是鉴于 pubsub 队列/消息传递的性质,如果我有一些负载平衡等,我看不到问题。

欢迎任何想法!

4

1 回答 1

3

使用服务总线。当云对你有好处时,比 Azure 服务总线好。如果没有,那么 nServiceBus。还可以看看 RabbitMQ,它是 AMQP 框架,并且能够比 pubsub 做更多的事情。此外,rabbit 在多个平台上有多个客户端。例如,纯粹用于 JavaScript 的方法之一是 RabitMQ + Node.js + WebSockets。

所有客户端和开发工具,以及关于不同平台和语言的 RabbitMQ 的文章都在这里

还有用于 .NET 的特殊 RabbitMQ 绑定,请在此处找到。

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

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

于 2012-05-13T08:37:24.473 回答