代码之家  ›  专栏  ›  技术社区  ›  Kladskull

如何使用rackspace云进行会话管理?

  •  1
  • Kladskull  · 技术社区  · 14 年前

    如果我运行的服务器实例超过两个(使用Rackspace Cloud的IP组),如何管理我与PHP的会话?

    有没有一种方法可以让用户“粘”到他们最初登录的服务器上?我确实使用memcached,但是所有的云系统都有memcached,我需要确保用户会话到达正确的服务器。

    我不想要单一的失败点。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Mike Sherov    14 年前

    使用文件以外的东西进行会话管理。PHP允许您覆盖处理程序。我使用memcache。它还有一个pecl扩展: http://www.dotdeb.org/2008/08/25/storing-your-php-sessions-using-memcached/

    下面是另一篇关于它的文章: http://www.ducea.com/2009/06/02/php-sessions-in-memcached/

    更新

    要从评论中解决问题:

    这允许您使用一组中央memcache机器进行会话。不是每个服务器都在本地查看其文件系统,而是查看您定义的一个中央memcache集群。

    memcache集群可以是任意多台机器,以避免单点故障。下面是php.ini中的一个配置示例:

    扩展名=memcache.so memcache.allow_failover=1 memcache.redundancy=1 memcache.session_冗余=2 ;使用memcache作为会话处理程序 session.save_handler=内存缓存 ;使用逗号分隔的服务器URL列表进行存储: session.save_path=“udp://:11211?persistent=1&weight=1&timeout=1&retry_interval=15英寸