0

给定具有高可用性 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 解决此问题?

4

1 回答 1

1

我想我错过了一个明显的观点,即横向扩展提供程序和背板提供了客户需要的保护,以防止服务器消失。客户端不连接到特定的服务器,而是连接到负载平衡的名称。

于 2016-10-25T13:09:23.900 回答