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

Posted

技术标签:

【中文标题】在不同的应用程序版本之间动态移动会话特定数据【英文标题】:Move session specific data between diff app versions on the fly 【发布时间】:2017-04-28 18:31:35 【问题描述】:

能否请您帮我找到一个解决方案 - 如何将所有会话特定数据从一个应用版本即时移动到另一个版本?

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

我知道how to grab all users sessions。问题是如何在两个 docker 容器之间交换数据?有什么陷阱吗?还是对通用文件系统进行序列化/反序列化就足够了?

升级程序:

    将新版本的 Docker 镜像部署到客户端的 VPC 在客户端集群上运行新版本的应用程序。保持旧版本的应用程序运行,直到它有未完成的作业。 将所有会话特定数据移动到新版本的应用中 怎么做? 开始将所有新请求重定向到新版本的应用程序 在完成所有任务时关闭旧版本

*这样可以吗*

【问题讨论】:

【参考方案1】:

我建议使用Spring Session 的集群会话。它为您提供几乎透明的集群支持,您无需手动执行任何操作。

【讨论】:

以上是关于在不同的应用程序版本之间动态移动会话特定数据的主要内容,如果未能解决你的问题,请参考以下文章

不同会话之间的共享内存

session放数据库里解决丢失的问题

在两个不同的应用程序之间传递会话数据

计算机网络

06- 移动端APP兼容性测试与云测试技术

有啥方法可以在tomcat中的不同应用程序之间共享会话状态?