Как мне управлять сессиями с RackSpace Cloud? - PullRequest
1 голос
/ 17 июля 2010

Если я использую более двух экземпляров сервера (используя ip-группы rackspace-cloud), как мне управлять сессиями с помощью PHP?

Есть ли способ сделать пользователей "привязанными" к серверу, на который они вошли изначально?Я использую memcached, но все облачные системы имеют memcached на них, мне нужно убедиться, что сеанс пользователя попадает на нужный сервер.

Я не хочу ни одной точки отказа.

1 Ответ

2 голосов
/ 17 июля 2010

Используйте что-то кроме файлов для управления сеансом. 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/

UPDATE

Для решения вопросов из комментариев:

Это позволяет вам использовать центральный набор машин memcache для сеансов. Вместо того чтобы каждый сервер локально просматривал свою файловую систему, он будет искать центральный кластер memcache, который вы определили.

В кластере memcache может быть сколько угодно машин, чтобы избежать единой точки отказа. Вот пример конфигурации из php.ini:

расширение = memcache.so memcache.allow_failover = 1 memcache.redundancy = 1 memcache.session_redundancy = 2 ; Используйте memcache в качестве обработчика сеанса session.save_handler = memcache ; Используйте разделенный запятыми список URL-адресов серверов для хранения: session.save_path = "UDP: //: 11211 стойкие = 1 & вес = 1 & таймаут = 1 & retry_interval = 15?"

...