我正在摆弄Play Framework2.2,尝试各种场景,并且来自LAMP环境--我有一个问题:在实时生产服务器上是否可能进行某种形式的热修复?如果是的话,它究竟是如何工作的?如果不是,那么最接近的是什么?
服务器操作系统是Centos 6.4。LAMP中的等效示例将是用热修复重新上传一些文件。
发布于 2013-10-05 21:06:59
您不能像php应用程序那样热修复play框架应用程序。play framework应用程序中的所有内容都是编译的,所以如果您在服务器上热切换一个文件,那么在编译和重新启动服务器之前,更改不会产生任何影响。
与其进行热修复,不如考虑在play应用程序前面设置一个反向代理(Apache和Nginx是很好的替代方案)。当您需要更新您的应用程序时,只需将其上载到一个新文件夹,并使用新的端口号启动它。当新服务器实例启动并运行时,将反向代理切换到指向新实例。然后关闭旧的实例。
使用这种方法,您可以安全地更新您的服务器而不需要停机。
发布于 2013-10-05 21:08:08
这在Play (或其他大多数web框架中)是不可能的。为了允许零时间部署,您通常有一个负载均衡器,然后在节点之间滚动升级,每次从集群中取出一个节点来升级它。
https://stackoverflow.com/questions/19201954
复制相似问题