首页 > 解决方案 > (GAE-Standard+Java11) 运行多个实例的会话

问题描述

我已经在 GAE、Java 11、标准环境上部署了我的 Spring Boot 应用程序。根据 Java11 的文档,我们需要app.yaml用于配置实例。

我想知道如何在实例之间启用会话共享。根据我的研究,早些时候我们可以通过设置sessions-enabledasync-session-persistence来简单地解决这个问题appengine-web.xml。随着appengine-web.xml消失,在app.yaml.

我试图实现的用例是:

  1. 使用弹簧安全性(不幸的是,根据我的说法,当同一用户的请求转到另一个实例时,我被注销了。)
  2. 将从数据库中检索到的用户存储在一个@SessionScoped变量中,以避免多次数据库调用。

这里的任何帮助将不胜感激。谢谢!

标签: javaspringgoogle-app-enginegoogle-cloud-platformspring-security

解决方案


我浏览了很多文档,但我相信这不在 app.yaml 配置参考中。

或者,我可以发现您可以使用会话亲和性来使用实例来始终回复同一用户的请求,这可以在您的应用程序中启用,您可以根据此文档在 app.yaml 中使用下一个标签。

network:
  session_affinity: true

希望这对你有用。


推荐阅读