我们还没有持续集成设置(但)。但是要部署的很频繁。一天一次左右。
我们有一个非常标准的 Django 应用程序,带有一个单独的 Postgres 服务器。我们使用普通租用的虚拟机(没有 Amazon 或 Rackspace)。
我们如何才能最大限度地减少应用程序的停机时间?最好是零停机时间。我们考虑了一个具有两个相同的应用程序和两个数据库服务器的设置,并一个接一个地部署一个应用程序/数据库服务器对。
问题是保持数据一致。当一个应用程序/数据库服务器对使用旧代码更新服务器对时,可以为用户提供服务。但是如果用户写入数据库,我们会在切换到更新的对时丢失数据。特别是当我们推动模式迁移时。
我们该如何处理呢?这一定是一个非常普遍的问题,但我找不到好的答案。你如何处理这个问题?