【问题标题】:.NET technologies for a real-time monitoring solution用于实时监控解决方案的 .NET 技术
【发布时间】:2012-02-22 18:50:20
【问题描述】:

我需要开发一个实时监控解决方案。

有一个向服务器发送实时数据的数据源。(每秒大约 500kb 的数据)。
许多桌面客户端(约 100 个)连接到服务器以获取实时数据,并将流数据显示在每秒更新的图表中。 服务端应该启动并运行一个月以上。

在某种程度上,它类似于股票价格监控程序。

我可以在这种情况下使用 .NET 堆栈中的哪些技术?

【问题讨论】:

  • 发送给所有客户端的数据是否相同?
  • 不,客户应该只接收他们感兴趣的数据。(以股票价格为例,每个客户对不同的股票感兴趣)

标签: .net wcf architecture


【解决方案1】:

对我而言,您在此处描述的内容是否完全适合消息队列场景。 (我正在开发一个与您所描述的非常相似的客户端)。 我会这样设计,更新客户端通过 WCF 接口上传,然后服务器通过消息队列将其发布给客户端。为了减少网络负载,您应该尽可能压缩该数据(例如 xml 数据)。

MsMq 您从 Microsoft 开箱即用,包括 .NET 中的库。我们在公司中使用 TIBCO,因为它符合 JMS 规范并提供 .NET 包装器。但它并不便宜。 你也可以看看 ActiveMQ 并使用 Spring.NET 包装器。

编辑: 客户应该只获取部分数据的问题,您可以为每只股票创建一个主题/队列,而客户只听他们感兴趣的股票队列之一。

【讨论】:

    【解决方案2】:

    您可以查看(N)Esper 等数据和事件流引擎。

    【讨论】:

      最近更新 更多