【发布时间】:2013-05-12 15:36:36
【问题描述】:
需要在部署期间实现零停机时间。场景是我总共有 6 个生产箱,我的代码将在其中部署。第一个代码将部署在 3 个盒子中。此时,我将启动并运行我的旧代码和新代码。我在我的 DB 表中应用了一个加密逻辑,它只能由我的新代码处理。当用户访问我的旧代码库时,我的应用程序将失败。有哪些可能的解决方案。我的应用程序是 java 应用程序,我使用 oracle 10g。
【问题讨论】:
需要在部署期间实现零停机时间。场景是我总共有 6 个生产箱,我的代码将在其中部署。第一个代码将部署在 3 个盒子中。此时,我将启动并运行我的旧代码和新代码。我在我的 DB 表中应用了一个加密逻辑,它只能由我的新代码处理。当用户访问我的旧代码库时,我的应用程序将失败。有哪些可能的解决方案。我的应用程序是 java 应用程序,我使用 oracle 10g。
【问题讨论】:
解决方案是有一系列允许这样做的版本。假设代码在更新之前使用了一个名为 A 的纯文本列。
【讨论】:
故障状态是旧代码+新数据,所以过渡阶段需要是新代码+旧数据。您的新代码需要能够区分新旧数据并同时使用两者。然后,一旦所有旧代码都消失了,您就可以转换到新的数据格式。
【讨论】: