我们正在为我们的 SignalR 应用程序实现横向扩展,并试图避免集群中的单点故障。因此,需要不止一个 Redis 消息总线服务器。
实现 Redis Sentinel 的问题在于,在故障转移时,客户端需要连接到新的端点 [地址],这将需要重新启动 SignalR 应用程序(在 Application_Start() 中定义的 Redis 端点)。
不是一个选择。
我试图了解 Booksleeve 是否/如何提供帮助,并希望有人对此进行解释。
问题是我们只能为消息总线定义一个端点。硬件解决方案目前不是一种选择。
SignalR 应用程序是否会连接到维护主/从列表的 Booksleeve 包装器?
使用 Azure 服务总线的另一种选择。但是,Wiring Up the Windows Azure Service Bus Provider 的说明表明这仍然存在问题:
请注意,此网站是在 Azure Web 角色中运行的 ASP.NET 站点。从 1.0alpha2 开始,AzureWebSites 中存在一些错误,导致 ServiceBus 横向扩展方案无法正常工作。我们正在努力为未来解决这个问题