我有一个在 Azure Web 角色上运行的 SignalR 服务。我有兴趣部署新版本的服务,首先部署到 Staging,然后部署到 Production 部署槽。
我的问题是,如果我在生产上存在与服务的现有连接时交换两个部署槽:
那些现有的连接会发生什么?它们仍然会连接到现在的暂存槽,还是会重新连接到现在的生产槽?或者是其他东西?这取决于客户吗?
谢谢!
我有一个在 Azure Web 角色上运行的 SignalR 服务。我有兴趣部署新版本的服务,首先部署到 Staging,然后部署到 Production 部署槽。
我的问题是,如果我在生产上存在与服务的现有连接时交换两个部署槽:
那些现有的连接会发生什么?它们仍然会连接到现在的暂存槽,还是会重新连接到现在的生产槽?或者是其他东西?这取决于客户吗?
谢谢!
这将取决于您如何存储 SignalR 连接信息。
如果您使用的是永久外部存储解决方案(请参阅这篇文章),那么从一个 Web 服务器交换到另一个 Web 服务器,这就是 VIP 交换最终会做的事情,不应该中断连接。
如果您使用不同的方法来存储连接信息,例如在内存中,那么它将丢失 b/c,您将使用部署交换将客户端流量从一个 Web 服务器传输到另一个。