Jetty Spring 使用会话复制启动
Jetty Spring Boot with session replication
我正在使用 spring boot 2.5.3 和 Jetty 9.4.43.v20210629。我想跨多个节点共享会话。在 Jetty 9.4 中,会话管理有很多变化。我想要一些具有 java 配置的会话复制(使用 JDBC / 文件系统)的参考资料。
Session 可以使用 spring session 和以下存储选项来完成复制,
黑兹尔卡斯特
数据库
Redis
MongoDB
spring.session.store-type 属性 应该用来决定存储类型。当多个节点/容器指向同一存储时,它将共享 session 并且无需维护粘性 session.
需要在 pom.xml 中添加适当的依赖项并在需要时添加注释(例如:@EnableJDBCHttpSession)
示例应用程序 yaml 更改。
JDBC
spring:
application.name: console-bs
main.allow-bean-definition-overriding: true
profile: default
session.store-type: jdbc
session.jdbc.initialize-schema: always
jpa.database: mysql
jpa.database-platform: org.hibernate.dialect.MySQL5Dialect
datasource.url: jdbc:mysql://mysqldb:3306/user
datasource.username: user
datasource.password: user1234#
datasource.driver-class-name: com.mysql.cj.jdbc.Driver
Redis
spring:
application.name: console-bs
main.allow-bean-definition-overriding: true
profile: default
session.store-type: redis
redis.host: redis
redis.port: 6379
我正在使用 spring boot 2.5.3 和 Jetty 9.4.43.v20210629。我想跨多个节点共享会话。在 Jetty 9.4 中,会话管理有很多变化。我想要一些具有 java 配置的会话复制(使用 JDBC / 文件系统)的参考资料。
Session 可以使用 spring session 和以下存储选项来完成复制,
黑兹尔卡斯特 数据库 Redis MongoDB
spring.session.store-type 属性 应该用来决定存储类型。当多个节点/容器指向同一存储时,它将共享 session 并且无需维护粘性 session.
需要在 pom.xml 中添加适当的依赖项并在需要时添加注释(例如:@EnableJDBCHttpSession)
示例应用程序 yaml 更改。
JDBC
spring:
application.name: console-bs
main.allow-bean-definition-overriding: true
profile: default
session.store-type: jdbc
session.jdbc.initialize-schema: always
jpa.database: mysql
jpa.database-platform: org.hibernate.dialect.MySQL5Dialect
datasource.url: jdbc:mysql://mysqldb:3306/user
datasource.username: user
datasource.password: user1234#
datasource.driver-class-name: com.mysql.cj.jdbc.Driver
Redis
spring:
application.name: console-bs
main.allow-bean-definition-overriding: true
profile: default
session.store-type: redis
redis.host: redis
redis.port: 6379