如何通过 SignalR 将遥测数据推送到客户端?

How to push telemetry data to client via SignalR?

这更像是一个设计问题...我有一个工作人员从多个设备(温度传感器)收集实时数据,我想在收集到新数据时做几件事:

  1. 通过SignalR
  2. 将其推送到客户端(AngularJS应用程序)
  3. 缓存新数据以便更快地访问它
  4. 将数据存入数据库
  5. 等...(也许做更多的事情)

那我该怎么做呢? (工作人员和 SignalR 在同一台机器上。)我想到了某种事件 engine/aggregator,但我认为这不是有效的解决方案。你能给我一些关于我应该如何处理这个问题的指导吗?也许我应该使用 Redis 作为事件 (pub/sub) 服务器?

这是一个问题的解决方案,与您解释的类似 ->

我认为 Redis 和事件聚合器解决方案都应该可以完成这项工作。我还建议您仅将 signalr 用于通知目的。然后客户端应该请求新数据......这样你可以在某种程度上保证数据会到达......也许不会准时,但它会......最终:)