Я установки простой сеанс входа пользователя, как показано ниже на страницах моего веб-приложения:PHP печенье на балансировкой нагрузки веб-серверов
if (!isset($_SESSION['username'])){
if (isset($_COOKIE['username'])){
$_SESSION['username'] = $_COOKIE['username'];
}
я начал замечать, что в некоторых случаях я потеряю входа в сеанс. Я проверил время истечения срока действия cookie, и это определенно было задано для будущей даты. Поведение было довольно случайным, когда иногда репликация действия не вызывала бы проблемы.
Сегодня я обнаружил, что веб-серверы (x2) сбалансированы по нагрузке (неуклюжие для меня, чтобы не подхватывать это), и теперь я подозреваю, что проблема плюется, когда пользователь отправляет запрос на второй веб-сервер, cookie не существует.
Я бы подумал, что когда вы нажмете веб-сервер, он будет поддерживать сеанс с ним. Однако поведение предполагает иное.
Я еще не разговаривал с администратором сети. Есть ли волшебное решение, с которым может управлять веб-админ? или это проблема реализации? Если да, то какие идеи я могу решить?
Предложения очень ценятся.
Можете ли вы сохранить сеанс в memcache (d)? Если это так, вы можете использовать memcache в качестве распределенного хранилища кешей/сеансов для всех ваших веб-серверов. – JimL
@ JimL: Спасибо, но никогда не слышал об этом. Мне нужно будет найти это сейчас и узнать. – kaizenCoder