我们有一个接受用户上传文件的应用程序。
每当我们部署应用程序时,我们都会停止应用程序并再次启动它。在我们实际停止应用程序之前完成所有冗长的处理,因此实际的停机时间相当短(几秒钟)。
但是,在停止进程时,我们还会终止对应用程序的活动请求(即文件上传)。
处理这个问题的好方法是什么?我有一些想法:
答案 0 :(得分:0)
您刚刚列出了我能想到的三种解决方案中的两种:-) 第三个是多层部署,智能负载均衡器和部署流程足够智能,可以知道要重启的节点和时间。 如果它是一个没有重大影响的小规模应用程序,我会在我看来更简单的版本:跟踪活动下载并在重启时监控它。你知道,只维护一个应用程序吗?但它使上传逻辑更加复杂。
但是,如果上传非常重要,而且看起来很重要,那么将其提取到单独的服务可能是值得的。不仅仅是因为新的部署,还要保护您免受意外崩溃和关机的影响。然后,您必须决定从服务中传达已完成上传的方法,并处理客户端响应等。
在我看来,一个维护和部署的应用程序比两个更简单,但当然也不那么健壮。
所以答案真的取决于你的需求和资源,对吗?