给定具有高可用性 WebAPI 的 Azure 托管 Web 角色(例如 99.95%,根据https://azure.microsoft.com/en-us/documentation/articles/resiliency-disaster-recovery-high-availability-azure-applications / ) 具有约 1000 个客户端的应用程序。客户端是一个 ReactJS 应用程序。WebAPI 应用程序将推送针对特定客户端组定制的通知(例如,并非所有客户端用户都对所有事件感兴趣,但>1 个用户可能对同一事件感兴趣)。
通过阅读 SignalR 文档并使用一些示例,感觉 SignalR 组将帮助我们将正确的事件流向正确的 ReactJS 应用程序实例。此外,我们将使用 SignalR 横向扩展提供程序之一,以确保我们从正确的 WebAPI 服务器实例推送到客户端。
问题:当“正确的 WebAPI”实例不可用时,应用程序如何恢复?
我可以想象一个服务器端主动/被动方案在确保每个集线器客户端至少有一个“服务器”方面具有一定的复杂性......但是服务器可以(以主动方式)连接到集线器客户端吗?我们会让每个 Hub 客户端(在注册组时)连接到 >1 个服务器吗?
应用程序如何使用 SignalR 解决此问题?