ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: несколько бэкэндов и сессии



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@xxxxxxxxxxxx




 




Copyright © Lexa Software, 1996-2009.