Как я могу добиться репликации сессий с помощью PHP / Apache - PullRequest
2 голосов
/ 25 февраля 2012

Есть ли способ хранить / управлять сеансами PHP так же, как IIS (служба состояний сеансов)?

Я хочу иметь несколько интерфейсных веб-серверов для многодоменной платформы электронной коммерции и централизованно управлять сессиями. Идея в том, что сервер отключается, пользователям с содержимым корзины не нужно начинать новый сеанс, когда они переносятся на другой веб-сервер.

Я знаю, что файлы cookie и параметры URL могут сделать это до некоторой степени, но это не отвечает на вопрос.

Ответы [ 2 ]

2 голосов
/ 12 января 2014

Вы можете зарегистрировать SessionHandlerInterface, который поддерживается общей базой данных (например, MySQL Cluster).

1 голос
/ 11 ноября 2013

Для тех, кто ищет это, потому что они переходят на Amazon Web Services, есть две опции / альтернативы:

  1. Используйте обработчик сеанса DynamoDB из AWS SDK для PHP,По сути, это имеет тот же эффект, что и репликация сеанса.Однако от DynamoDB есть денежные затраты, особенно если вам нужна блокировка.
  2. Используйте липкость сеанса в балансировщике нагрузки.Это проще в настройке и бесплатное, но, вероятно, оно не так масштабируемо, поскольку запросы из старых сеансов нельзя просто отправлять на вновь запущенные серверы.

Наиболее масштабируемый вариант - этоКонечно, избавиться от сеансов на стороне сервера, но это не всегда легко без огромных изменений в серверных и внешних интерфейсах, а в некоторых случаях даже нежелательно из-за других соображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...