Сессии PHP трудно масштабировать через распределенную систему?

Таким образом, я изменил установку VS2017 и в рамках ASP.NET и веб-разработки я удалил ее, переустановил и убедился, что ASP.NET MVC 4 был отмечен галочкой в ​​разделе «Необязательно».

9
задан Ken 1 November 2008 в 06:15
поделиться

3 ответа

Ответ на Ваш конкретный вопрос, что было бы проблема быть, заключается в том по умолчанию, что PHP хранит свои сессии в файлах в файловой системе. Для единственного веб-сервера обслуживание запрашивает, это не проблема, потому что Ваши данные сессии всегда будут доступны. Но что, если у Вас было два сбалансированных с загрузки веб-сервера, служащие запросам?

Предположите поражать первый веб-сервер запросом, который создает Ваш файл сессии в его файловой системе. Затем Ваш следующий запрос поражает второй веб-сервер. Второй веб-сервер не будет, конечно, видеть файл сессии. Пользователю Вы могли бы войти на сайт и затем внезапно выйтись из системы.

Это не проблема, характерная для PHP, и очень распространено. Решение состоит в том, чтобы хранить данные сессии в некоторой общей зоне. Наиболее распространенный метод для этого должен хранить данные сессии или в базе данных, доступной для всех веб-серверов или в некотором сервере кэширования общей памяти как memcached.

4
ответ дан 4 December 2019 в 11:44
поделиться

Сохранение сессий через несколько серверов (также известный как кластеризация сессии) является типичной проблемой для масштабирования веб-приложений и не характерно для PHP. PHP действительно предлагает несколько решений обработать его, такие как Платформа Зенда (сервер коммерческого применения), и Msession (расширение).

4
ответ дан 4 December 2019 в 11:44
поделиться

Вы могли также использовать пользовательскую сессию, сохраняют обработчик:

http://www.php.net/manual/en/function.session-set-save-handler.php

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

Также Msession, который был предложен @Eran Galperin, выглядит очень интересным как альтернатива той, которую я упомянул прежде.

10
ответ дан 4 December 2019 в 11:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: