Быстрое примечание, я не говорю о существующем сеансе, я знаю, они будут потеряны, если сервер memcache переведен в автономный режим.
Представьте себе следующую ситуацию:
а) PHP
b) Расширение PECL memcache (http://pecl.php.net/package/memcache)
c) Настройка PECL memcache в качестве обработчика сеанса
d) Настройка нескольких серверов memcache для этого через session.save_path = "tcp: ..... , tcp: .....";
e) Один из серверов memcache выходит из строя (перезагрузка сервера, остановка демона и т. Д.). Таким образом, на этом этапе у нас все еще будет хотя бы один действующий и работающий сервер memcache.
Как сказанное выше влияет на создание новых сеансов?
Я посмотрел руководство по memcache на http://www.php.net/manual/en/memcache.ini.php, и руководство немного тонкое.
Хотя в нем говорится, что применяются те же параметры, что перечислены в http://www.php.net/manual/en/memcache.addserver.php.
Мы попытались отключить один из наших серверов memcached для тестирования, и наш журнал php начинает заполняться «невозможно записать данные сеанса, проверьте ваш ....».
В настоящее время наша настройка ini для session.save_path выглядит примерно так:
session.save_path = "tcp://xxx.xxx.xxx.xxx:z?persistent=1, tcp://yyy.yyy.yyy.yyy:z?persistent=1";
Итак, подведем итог:
1) Что происходит, когда один из обработчиков сеанса выходит из строя?
2) Есть ли способ настроить это расширение для прозрачной попытки одного из «других» серверов memcache, перечисленных в случае сбоя одного из попыток? Или это делается автоматически?
3) На страницах справочника по настройке среды выполнения memcache @ php.net я вижу параметр "memcache.allow_failover", по умолчанию равный true (вкл.), Это также относится к обработке сеанса? Или только в php вызовы memcache?
Спасибо, любезно.
Дополнительные пояснения, мы используем версию 3.0.6 расширения, расположенную по адресу http://pecl.php.net/package/memcache.