Django App的零停机代码更新

时间:2017-05-22 09:26:14

标签: python django

正在使用的东西:

  1. 运行uwsgi的主管
  2. uwsgi调出我的基于Django非rel 1.6的ML应用程序(Django升级过程中)
  3. 我正在使用Uwsgi来启动基于Django ML的应用程序。 但不知何故,由于必须加载大量二进制文件才能进行初始化,因此主管需要大约20-30秒才能重新启动并加载新代码。

    我怎样才能减少这段时间? 或者有没有其他方法来运行Django应用程序,以便在代码更改时快速重新加载? ZERO停机时间?因为如果无法连接到Django,Nginx将开始投掷5xx。

1 个答案:

答案 0 :(得分:0)

您可以使用Blue-Green部署方法。 在这种方法中,有两个相同的服务器:一个是Blue,另一个是Green。 在任何时候,只有一个环境是实时的,实时环境服务于所有生产流量。当您准备新版本的软件时,您将在绿色环境中进行最后的测试阶段。一旦软件在绿色环境中工作,您就切换路由器,以便所有传入的请求都进入绿色环境 - 蓝色环境现在处于空闲状态。