【问题标题】:Writing a long-running pubsub server/service c#编写一个长时间运行的 pubsub 服务器/服务 c#
【发布时间】:2012-05-12 16:38:42
【问题描述】:

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

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

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

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

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

欢迎任何想法!

【问题讨论】:

    标签: c# .net system.reactive publish-subscribe pubnub


    【解决方案1】:

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

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

    .NET 还有一个特殊的 RabbitMQ 绑定,找到它here

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-01
      • 2014-11-27
      • 2015-02-14
      • 1970-01-01
      • 1970-01-01
      • 2016-05-23
      • 1970-01-01
      • 2014-09-22
      相关资源
      最近更新 更多