первый вопрос на этом замечательном сайте;)
Примечание. Я использую CakePHP 2.6.2
Итак, вот моя проблема: у меня есть балансировщик нагрузки и 2 веб-сервера. Я помещаю веб-сайт на эти серверы, и поскольку балансировщик нагрузки не использует сессионную липкость (и я не могу его активировать, серверы не мои), я сталкиваюсь с проблемами с сеансами (когда балансировщик переключает меня с одного сервер к другому).
Единственный общий ресурс между серверами - это база данных, поэтому я хотя бы об использовании хранилища сеансов базы данных CakePHP.
Но на данный момент мне интересно, есть ли встроенное решение в cakephp, которое позволяет переключать или дублировать сеанс между серверами.
Спасибо!
Не использовать сеансы на основе файлов действительно важно, как вы, вероятно, выяснили. Вместо этого вы должны использовать сеансы базы данных, redis или memcached.
В идеале вы не хотите, чтобы люди не двигались между серверами. Важные сессии кажутся хорошим решением, пока вы не потеряете сервер из-за какой-то проблемы. Вместо этого я считаю, что гораздо лучше ориентироваться на общую архитектуру, где все ваши веб-серверы легко заменяются.
Другое дело, что вам может понадобиться решить, это загрузка файлов. В настройках с несколькими серверами вы не можете просто сохранять загруженные файлы на локальный диск, так как следующий запрос может не попасть на тот же сервер. Вместо этого я бы рекомендовал вам посмотреть на устройства хранения blob, такие как Amazon S3, хранилище Azure blob и облачные файлы Rackspace.