Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java kubernetes中基于Cookie的POD间会话持久性_Java_Spring Boot_Kubernetes_Architecture_Stateful - Fatal编程技术网

Java kubernetes中基于Cookie的POD间会话持久性

Java kubernetes中基于Cookie的POD间会话持久性,java,spring-boot,kubernetes,architecture,stateful,Java,Spring Boot,Kubernetes,Architecture,Stateful,无状态是在pod中运行服务的一种方式,但是我一直在尝试移动一个有状态的应用程序,如果一个pod由于弹性原因而停止运行,它需要执行会话持久性 在websphere world中,IHS可用于跟踪会话,如果节点发生故障,则可以在实时克隆上重新创建该会话 有没有一种行业标准的方法来处理这个问题,而不必通过使用某个sidecar pod持久化会话来重构应用程序代码?基于Cookie的会话就是基于Cookie的会话。由用户的浏览器而不是应用程序存储。如果您指的是具有cookie会话ID或类似ID的基于DB

无状态是在pod中运行服务的一种方式,但是我一直在尝试移动一个有状态的应用程序,如果一个pod由于弹性原因而停止运行,它需要执行会话持久性

在websphere world中,IHS可用于跟踪会话,如果节点发生故障,则可以在实时克隆上重新创建该会话


有没有一种行业标准的方法来处理这个问题,而不必通过使用某个sidecar pod持久化会话来重构应用程序代码?

基于Cookie的会话就是基于Cookie的会话。由用户的浏览器而不是应用程序存储。如果您指的是具有cookie会话ID或类似ID的基于DB的会话,则需要将内容存储在某种中央数据库中。我建议使用像postgres这样的实际数据库,但我认为没有什么可以阻止您使用共享卷:)

是的。将会话存储在某个位置。Spring boot支持现成的MongoDB、Redis、Hazelcast或任何JDBC数据库

Spring Boot为广泛的应用程序提供Spring会话自动配置 数据存储范围。在构建Servlet web应用程序时 可以自动配置以下存储:

JDBC Redis Hazelcast MongoDB在构建反应式web应用程序时, 可以自动配置以下存储:

如果服务器上存在单个Spring会话模块,则Redis MongoDB 类路径,Spring Boot自动使用该存储实现。 如果有多个实现,则必须选择 要用于存储会话的StoreType。比如说 使用JDBC作为后端存储,您可以将应用程序配置为 如下:

spring.session.store type=jdbc

[提示]您可以通过以下方式禁用Spring会话: 将存储类型设置为“无”。每个商店都有特定的附加服务 设置。例如,可以自定义 用于JDBC存储的表,如以下示例所示:

spring.session.jdbc.table name=SESSIONS

用于设置 会话您可以使用spring.session.timeout属性。如果 属性,则自动配置返回到的值 server.servlet.session.timeout