2

我有一个部署为多实例 Azure Web 应用程序的 .NET Web 应用程序。此 Web 应用程序利用 SignalR 向连接的客户端广播消息。我正在使用服务总线背板进行横向扩展,效果很好。

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

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

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

  2. 以某种方式将 WebJob 视为另一个集线器,并将其添加到服务总线背板。我不确定我会怎么做。然后,我将使用从 SignalR.GlobalHost.ConnectionManager 获得的 IHubContext 广播消息。

我的问题是:

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

  2. 如果选项 #2 更好,有人可以发布我将如何执行此操作的链接吗?似乎大多数教程都是关于使用 SQL Server、服务总线主题或 Redis 作为背板的多实例横向扩展。

4

0 回答 0