【问题标题】:Does Google App Engine Flexible Environment support a session-store out of the box?Google App Engine 柔性环境是否支持开箱即用的会话存储?
【发布时间】:2018-06-01 11:12:41
【问题描述】:

Memcache 支持 App Engine 标准环境的 OOTB 会话存储,但 App Engine Memcache 不适用于柔性环境。

Documentation for configuring Flex Env 没有提及会话。

当然我可以自己实现它,但是会话存储对于大多数功能齐全的应用程序服务器来说是基本的,包括 GAE 标准环境。我可以得到一个有一些配置但没有编码的会话存储吗?

【问题讨论】:

    标签: memcached app-engine-flexible session-state-server


    【解决方案1】:

    App Engine Flex 的开箱即用会话存储目前没有特色,而 App Engine Standard 在使用 Java 时具有此选项,而 Flex 在所有运行时具有相同的行为,它们之间没有预期的差异。

    如果您认为 App Engine Flex 的 OOTB 会话存储是一项应添加到其功能中的功能,请通过 this link 提交功能请求。

    正如@komarkovich 所指出的,您可以使用 Cloud Memorystore 来管理会话并执行会话存储操作,但是您请求的 OOTB 功能也不存在。使用Redis或Datastore等DB后端也可以管理

    对于更集成的方法,您可以使用Firebase user session management 来管理您的会话。我本人不是 Firebase 专家,因此我无法在这方面为您提供进一步的帮助,但是如果您对使用它有任何疑问,这个社区中的好人(例如 Frank van Puffelen)可以为您提供帮助。

    【讨论】:

      【解决方案2】:

      对于会话存储,您可以使用 Cloud Memorystore,它是 GCP 的完全托管 Redis 服务。查看如何set up and connect App Engine Flex with Memorystore

      根据documentation,Memcache 服务目前不适用于 App Engine 柔性环境,但您可以申请早期访问 alpha here

      在同一 documentation 中还提供了两个第三方 memcache 服务,您可以在 App Engine 柔性环境中配置和使用它们:

      1. Redis Labs Memcache
      2. Redis Labs Redis

      【讨论】:

      • 谢谢。是的,我知道 GAE Memcache 不能与 Flex 一起使用,其他可以插入。但我的问题是是否存在无需任何编码即可工作的 OOTB 会话存储:配置没问题。即,我可以将对象放入会话中,它们将自动在实例之间共享。
      • @JoshuaFox 我编辑了我的答案以更好地解决您的问题。
      • 谢谢。您能否确认会话存储在您所说的实施 Redis 时有效?我之所以这么问,是因为 session-store 周围极度缺乏清晰度。您指向的文档中没有提到,甚至在与 Google 团队讨论时,答案也不清楚groups.google.com/d/msg/google-appengine/PmvpZyL7Cbw/…
      • 我无法确认它是否有效,因为我尚未对其进行测试,但在文档中here 声明它用于会话管理。
      • 谢谢。它说 Redis 可以用于 Session Mgmt,但并不是说它以这种方式 OOTB 工作。所以,我想如果必须的话,我们可以让它工作,但最好能得到确认。此外,我们希望 Session Mgmt 在 Flex 标准环境中以相同的共享状态干净地工作。
      猜你喜欢
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 2017-08-06
      相关资源
      最近更新 更多