Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: nginx proxy аутентификация
On 26.02.2014 18:18, denis wrote:
26.02.2014 18:07, Alex Belyansky пишет:
On 26.02.2014 17:41, denis wrote:
24.02.2014 15:55, komiller пишет:
Здравствуйте.
Прошу помочь, не давно перешел на нгинх и все бы прекрасно да только
проблемка одна. Nginx я использую для балансировки нагрузки между
двумя
серверами,
при входе в сайт есть авторизация и соответсвенно каптча, так вот
каптча все
время ругается что код не правильный хотя все правильно.
куки не синхронизированы, ip_hash - вариант. Но можно писать куки в
nfs шару или общий memcached, проблема тоже будет неактуальна.
NFS - плохая затея! Уже пробовали. Даже при невысокой посещяемости,
заметно притормаживает. Общий memcached это уже ближе к делу, но надо
быть осторожным при использовании - http://habrahabr.ru/post/38261/
28 августа 2008 в 13:52
думаю, за 6 лет ситуация сильно поменялась. Плюс "или общий memcached"
- нет проблем синхронизации. И какие проблемы там могут быть? человек
открыл страницу, секунд 10 разгадывал-вводил капчу, отправил. Какие
проблемы с блокировками? У каждого человека своя сессия.
какие-то проблемы возможны, если это интернет-магазин, добавление
товара в 1 клик, медленный канал, человек быстро кликает. И то, если
обновляется его локальная кука и она уходит - проблем быть не должно,
а вообще правильнее например писать в куку номер корзины, а клик -
аякс-запрос, который пишет сразу в базу а не в куку.
а где ещё можно хранить сессии? :)
зы " каптча все время ругается что код не правильный" - не всё время,
а принимает капчу только со 2-3 раза (хотя зависит от количества
серверов). Тоже с таким сталкивались, но причина была быстро понята.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Ситуация в принципе такая же, но есть CAS в классе Memcached для PHP.
Вероятно уже есть готовые реализации для сессиий с его использованием.
В вашем случае никаких блокировок с угадыванием капчи наверное быть не
должно. Если вы не используете каких-либо инкрементов внутри сессии, то
memcached решит все ваши проблемы даже без использования CAS (ну т.е.
сессия нужна по сути чтобы только авторизоваться). Если вы добавляете
идентификаторы товаров в сессию, то тут уже возможны беды. Там в
принципе в статье про это все и описано, правда для блокировок они
используют свой механизм.
Сессии можно хранить где угодно если есть свой обработчик - redis,
mongodb, да хоть в mysql, правда производительность будет хромать :)
На практике хранили только в memcached и redis - для нас этого было
вполне достаточно.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|