0

我正在摆弄 Play Framework 2.2,尝试各种场景并来自 LAMP 环境我有一个问题:在实时生产服务器上是否可以进行某种形式的热修复?如果是这样,它究竟是如何工作的?如果不是,那么最接近的东西是什么?

服务器操作系统是 Centos 6.4。LAMP 中的等效示例是使用热修复重新上传某些文件。

4

2 回答 2

5

您不能像对 php 应用程序那样热修复播放框架应用程序。播放框架应用程序中的所有内容都已编译,因此如果您在服务器上热切换其中一个文件,则在编译并重新启动服务器之前所做的更改不会有任何影响。

与其热修复,不如考虑在您的游戏应用程序前使用反向代理(Apache 和 Nginx 是不错的选择)。当您需要更新应用程序时,只需将其上传到新文件夹并使用新端口号启动即可。当新服务器实例启动并运行时,切换反向代理以指向新实例。然后关闭旧实例。

使用这种方法,您可以在不停机的情况下安全地更新您的服务器。

于 2013-10-05T21:06:59.307 回答
2

Play(或大多数其他网络框架)无法做到这一点。为了允许零时间部署,您通常有一个负载均衡器,然后在您的节点之间进行滚动升级,一次将一个节点从集群中取出来进行升级。

于 2013-10-05T21:08:08.187 回答