【问题标题】:Facebook and a stateless serverFacebook 和无状态服务器
【发布时间】:2010-06-17 07:05:12
【问题描述】:

我正在制作一个 Facebook 应用程序,我想要一个无状态服务器。Facebook 连接请求来自服务器端。因此,当 Facebook 给我一个必须在服务器上维护的会话时,我的服务器不会是无状态的。

当我要进行负载平衡时,我不能有一个简单的负载平衡器,而是需要知道哪些用户在哪个服务器上,这是我不想要的。

有什么想法吗?

【问题讨论】:

    标签: facebook session-state


    【解决方案1】:

    根据您的应用程序使用情况,您可以采用以下任何一种方法:

    1. 使用粘性会话。
    2. 将会话信息存储在内存集群缓存中。 (例如使用 Memcached 的解决方案)
    3. 在数据库中保留会话相关信息。

    【讨论】:

    • 如果我缓存我的 facebook 会话或将其存储在数据库中。 facebook会话持续多长时间?如果有人在我的应用程序中并在一段时间后发送了对 facebook 的请求?
    • 确切的超时时间未知,它取决于 FB。根据20bits.com/articles/5-facebook-application-gotchas,这是 12 秒,但我没有确认。我不认为会话超时是值得关注的。只有身份验证调用属于该类别,通常用户不会走得太远。即使他们这样做了,您也可以通过重新初始化进程来处理超时。一旦获得身份验证令牌,它就会长期存在。
    【解决方案2】:

    假设您可以在网页之间传递令牌,一种选择是使用该令牌将状态存储在数据库中。这将使事情独立于网络服务器本身。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-27
      • 2021-07-17
      • 1970-01-01
      • 1970-01-01
      • 2014-07-04
      • 2020-02-29
      • 2011-02-05
      • 2010-12-05
      相关资源
      最近更新 更多