Re: Асинхронная авторизация

Deomid Ryabkov myself на rojer.pp.ru
Вс Янв 17 13:06:39 MSK 2010


Vladimir Romanov wrote:
>> ничем принипиально не отличается от проверки юзера/пароля.
>> не забудьте выдать пользователю куку, чтоб в следующий раз
>> не нужно было ходить в медленный лдап.
>>     
> Это конечно! Это уже сделано. Сделал как модуль авторизации nginx.
> Сейчас почти готов прототип отдельного процесаа который шлет запросы к
> LDAP (на С)
>   
>>> нагрузка будет весьма велика. Вешать авторизацию на бакенд нельзя.  В
>>> случе чего, он сдохнет под нагрузкой.
>>>
>>>       
>> в том и смысл, что нагрузка на авторизацию будет ровно такая, какую вы
>> скажете.
>>     
> На авторизацию да. Но надо будет сначал принять решение авторизовать
> или сразу послать. А для принятия такого решения надо как минимуму
> делать селект в базе.
зачем? чего селектить будем?
если ваш лдап держит N запросов в секунду, вы настраиваете ваш авторизатор
на то чтоб он засылал в среднем не более N в секунду, с каким-нибудь 
усреднением.
если у вас их таких несколько на один лдап - зависит от того как будет 
распределяться нагрузка,
если поровну, то всем поставить N/m, если нет, то приблизительно.
и главное, чтоб авторизатор понимал, когда лдапу плохо и слал народ лесом.
то есть, например, когда лдап начинает прогибаться, наверняка растёт 
время ответа.
ну вот пусть авторизатору будет выставлен порог, а лучше интервал, или 
зависимость числа допущенных
запросов от времени ответа.
в общем, масса вариантов как не положить лдап без базы и координации 
между клиентами.
>  Что при большом количестве "неокученых"
> пользователей приведет к большой загрузке.
>
>   
>> авторизатор принимает бытрое рещение - можно ещё запрос отправить лдапу или
>> нет.
>> если можно - отправляет, проверяет, даёт куку. нельзя - даёт отлуп юзеру,
>> чтоб пришёл попозже.
>>     
> Вот принятие этого решения тоже дорогая операция и выносить в бакенд,
> например на php не хочется.
>   
как я уже описал, возможно не такая и дорогая, пара математических операций.
но всё равно её надо отдать тому, кто будет делать авторизацию, то есть 
как ни крути бэкенду.

>>>  Есть еще один момент - это
>>> кластеризация. Саму вебчасть можно спокойно кластеризовать используя
>>> репликацию DB. А вот релизовтаь ограничения по количесву обращений к
>>> LDAP в таком кластере  будет сложнее.
>>>       
>> надо сказать, что лдап тоже умеет реплицироваться. может вам не парить мозг,
>> а просто обеспечить требуемую нагрузочную способность лдапа с помощью
>> репликации?
>>     
> Этот LDAP не может :(. Со временем будет другой интерфейс.
>   
>>>  Эту часть лучше оформить в виде
>>> active/stand bay пары
>>>       
>> тут я не понял.
>>     
> т.е. два сервера. Один работает, второй проверяет рабоает ли первый.
> Как только первый останавливается за заботу принимается первый.
>   
я понял что это значит, но не понял при чём это здесь.
наличие неактивного stand by не влияет на нагрузку.

-- 
Deomid "rojer" Ryabkov
myself at rojer.pp.ru
rojer at sysadmins.ru
ICQ: 8025844

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3308 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100117/314aa487/attachment.bin>


Подробная информация о списке рассылки nginx-ru