【发布时间】:2014-02-26 18:49:41
【问题描述】:
如何在不中断服务的情况下部署新版本的 AngularJS 单页 web 应用(基于 API)?
我们终于需要了:
- 更新源(服务器和客户端)
- 迁移/更新数据库
- 重新启动服务器
即使有一个负载平衡器和最后 2 个轮换服务器(一个更新,另一个正在服务),我无法找到一种安全的方法来部署新版本而不中断服务和不丢失用户数据。
想象一个用户在我们的网络应用程序中处理一个复杂的文档。我们无法在其工作会话期间强制重新加载其页面...
怎么做? 如果不可能,如何缓解这个问题?
【问题讨论】:
-
从概念上讲,您可以使用包含会话管理的负载平衡器,因此您可以将用户切换到另一台服务器而不会中断会话。我有一个客户有这样的设置;但他们有负责细节的网络人员。这可能是关于服务器故障的一个更好的问题?
-
@Reboog711 那么 db schéma 呢? (即使在 NoSQL 上)我们无法保持两个不同的软件版本同步......
-
这取决于你的环境;我想。我相信也有办法对数据库服务器进行负载平衡。因此,取下一台 DB Server 和一台应用程序服务器。更新两者。在你放下另一套的同时把它们拿回来。
-
@Reboog711 然后在切换期间创建的所有新数据都将丢失:-/
标签: node.js angularjs deployment web-deployment