不要让部署取消文件上传

时间:2014-07-11 13:34:46

标签: node.js deployment

我们有一个接受用户上传文件的应用程序。

每当我们部署应用程序时,我们都会停止应用程序并再次启动它。在我们实际停止应用程序之前完成所有冗长的处理,因此实际的停机时间相当短(几秒钟)。

但是,在停止进程时,我们还会终止对应用程序的活动请求(即文件上传)。

处理这个问题的好方法是什么?我有一些想法:

  • 将文件上传处理程序解压缩到单独的服务中?
  • 让重启更加“智能化”并告诉进程不接受任何新请求并等待当前活动请求停止然后终止进程

1 个答案:

答案 0 :(得分:0)

您刚刚列出了我能想到的三种解决方案中的两种:-) 第三个是多层部署,智能负载均衡器和部署流程足够智能,可以知道要重启的节点和时间。 如果它是一个没有重大影响的小规模应用程序,我会在我看来更简单的版本:跟踪活动下载并在重启时监控它。你知道,只维护一个应用程序吗?但它使上传逻辑更加复杂。

但是,如果上传非常重要,而且看起来很重要,那么将其提取到单独的服务可能是值得的。不仅仅是因为新的部署,还要保护您免受意外崩溃和关机的影响。然后,您必须决定从服务中传达已完成上传的方法,并处理客户端响应等。

在我看来,一个维护和部署的应用程序比两个更简单,但当然也不那么健壮。

所以答案真的取决于你的需求和资源,对吗?