несколько бэкэндов и сессии
Alexei Saveliev
alexei at saveliev.org
Fri Apr 7 22:11:32 MSD 2006
Hello Anton,
Friday, April 7, 2006, 6:13:34 PM, you wrote:
AS>> Кто как решал проблему сессий при количестве бэкэндов больше одного?
AS>> Пока следующие варианты:
AS>> - централизованное хранилище данных
AY> Пожалуй самый разумный вариант. Но нужны дополнительные действия для
AY> обеспечения отказоустойчивости.
Ну и дополнительный сервер :)
AS>> - выбор бэкэнда на основе параметров дописываемых в линки
AY> Если один бэкенд нужно будет выключить, то сессии, которые на нем жили
AY> придется оборвать. При централизованном хранении сессий такой проблемы
AY> нет.
AY> И загрузка бэкендов будет менее равномерной.
Да вариант тупиковый, но и самый простой.
AS>> - хранить все на клиенте
AY> Все на клиенте хранить нельзя. Иначе как сделать авторизацию?
Ну у меня например очень много данных в линках хрянятся. Просто они
пожаты и закрипчены. Размер линка особо сильно не напрягает. Можно так
же в куку засунуть.
AY> С сессиями она работает примерно так: если клиент прошел авторизацию
AY> даем ему куку со случайно сгенерированным id, и пишем в сессию этот id
AY> и login. Далее по этому id мы идентифицируем клиента.
если куку id не менять - то man in the middle легко делается.
если менять то данная схема плохо работает когда идет параллельно
несколько запросов (например фреймы) каждый из которых отсылает
текущее значение куки. уже проходили :)
--
Best regards,
Alexei mailto:alexei at saveliev.org
More information about the nginx-ru
mailing list