在不同的应用程序版本之间移动会话特定的数据

你能帮我find一个解决scheme – 如何从一个版本的应用程序移动到另一个所有会话特定的数据?

假设你有一个长期运行的Spring应用程序。 它可以启动将在数小时内执行的作业。 您将您的应用程序/环境封装在Docker中,并将其部署到客户端的VPC。 您有升级程序,如下所述。

我知道如何抓住所有的用户会话 。 问题是如何在两个docker集装箱之间交换数据? 任何陷阱? 或者通用文件系统的序列化/反序列化是否足够好?

升级程序:

  1. 将新版本的Docker镜像部署到客户端的VPC
  2. 在客户端群集上运行新版本的应用程序。 保持旧版本的应用程序运行,直到它有未完成的工作。
  3. 将所有会话特定的数据移动到新版本的应用程序 如何做到这一点?
  4. 开始将所有新请求redirect到新版本的应用程序
  5. closures旧版本,完成所有任务

*那好吧*

我build议在Spring Session中使用聚集会话 。 它给你几乎透明的集群支持,你不必手动做任何事情。