将SignalR扩展到多个WebApp和WebJob实例

时间:2017-02-24 16:24:21

标签: azure signalr signalr-hub signalr.client signalr-backplane

我有一个.NET Web应用程序,它被部署为多实例Azure Web App。该Web应用程序利用SignalR向连接的客户端广播消息。我正在使用服务总线背板进行扩展,这非常有用。

我还有一个连续的WebJob监视服务总线队列,进行一些密集处理,并且作为该处理的一部分需要向SignalR客户端发送广播消息。

似乎有两种方法可以解决这个问题:

  1. 通过使用HubConnection和IHubProxy连接在Web App上运行的SignalR Hub,将WebJob视为SignalR客户端。这似乎运作良好,是我目前正在做的事情。

  2. 以某种方式将WebJob视为另一个Hub,并将其添加到Service Bus背板。我不知道我是怎么做到的。然后,我将使用从SignalR.GlobalHost.ConnectionManager获得的IHubContext来广播消息。

  3. 我的问题是:

    1. 这样做的方法是否比另一种更好?

    2. 如果选项#2更好,有人可以发布一个指向我如何做这个的链接吗?似乎大多数教程都是关于使用SQL Server,Service Bus Topics或Redis作为背板的多实例横向扩展。

0 个答案:

没有答案