SignalR,仪表板和从多个数据中心的工作人员获取数据

时间:2014-09-03 22:11:06

标签: asp.net-mvc azure signalr

我试图了解是否支持以下方案,如果是,那么实现此方法的最佳方法是什么:

我有许多工作角色,可以在不同的数据中心(Azure)中执行工作。数据中心内的服务器是相同的,并为大量客户执行类似的工作。

我有一个仪表板,应该显示所有数据中心内工作人员生成的结果的最新数据。客户可以并且将拥有来自多个数据中心的数据。

我希望没有从我的仪表板到工作人员角色的直接连接

我知道可以使用Worker角色作为SignalR客户端并将信息发送到我的作为SignalR服务器的Web API服务器。但是,我的工作者角色可能处理1000个客户的数据,而其中只有2或3个在线且查看仪表板。如果只有2/3的客户在线并等待数据,我不希望通过从多个数据中心为他们正在处理的每个客户发送数据来增加我的员工角色。此外,还有我希望避免的数据传输费用。

那么,我是否可以将远程工作人员角色的数据发送到我的集中式仪表板,仅供在线客户查看仪表板?

希望这是有道理的

1 个答案:

答案 0 :(得分:0)

您将工作者角色设置为SignalR客户端可能不是最高性能的解决方案。由于所有这些都发生在Azure数据中心内,因此您可以使用它们提供的一些工具。 Azure Queues可能适合您。您的辅助角色可以将消息放入队列,然后SignalR集线器可以根据需要接收这些消息。例如,您可以跟踪是否有人连接到集线器,然后才监听队列中的消息。 This excellent视频可以为您提供有关队列的精彩介绍。