我希望能够在不丢失客户端会话状态或导致任何停机的情况下部署我的 asp.net/mvc 网站的新版本。我正在考虑实现这一点的方法是创建一个 Windows 网络负载平衡服务器,以便客户端可以通过单个 url(例如https://mysite.org/ )访问它。然后它将流量重定向到其他两个站点之一(A.mysite.org 或 B.mysite.org)。我将 NLB 的关联设置为 Single,并禁用站点 B,以便将所有会话定向到站点 A。当我需要部署网站的新版本时,我将部署到站点 B,启用站点 B,然后禁用站点 A。因此,站点 A 上的每个人都可以留在那里(使用版本 1)直到他们注销。所有新会话都将连接到站点 B 并运行版本 2。下次部署时,我将执行相反的操作。
我从来没有用过NLB。这合适吗?有没有更简单、更简单的方法?
NLB 如何知道来自客户端 X 的请求何时已经在 A 或 B 上进行了会话?IE。当他们注销网站并尝试再次登录时,nlb 会将他们发送到他们之前访问的同一站点吗?