ПРОЕКТЫ 


  АРХИВ 


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: Медленны? отдельном потоке ил?



vromanov wrote:
Лишние накладные расходы. Я бы хотел обновлять информацию сразу всю. В случае 
массива это просто, а вот поместить 500 тысяч элементов в memcache не так и 
быстро.
поместить 500000 элементов куда угодно не так и быстро. но главное, что не масштабируется. обновлять данные по всем имеющимся пользователям - отвратительная идея. сегодня из 500к, завтра 5000к и процесс обновления чего угодно будет тормозить, локинг и прочая, и прочая. не говоря уж о том, чтов сё это должно помещаться в одну машину.

нет. текущий баланс (по легенде) нужно знать тем, кто сейчас залогинен. и баланс должен быть не минутной давности, а именно что текущий. потратили денежку, или (особенно) получили - на следующей перезагрузке страницы цифры уже должны быть правильные. это ОЧЕНЬ важно, иначе юзеры будут нервничать. (например вася с петей чатится, говорит - я деньги перевёл, ты получил? петя нажимает рефреш и видит старые цифры. нет, говорит, не получил. петя начинает нервничать, подозревать васю. вася нажимает у себя и видит старые цифры баланса - как будто деньги не сняли. начинает нервничать. в итоге нервничают оба, пока у вас не проснётся крон-скрипт и не обновит кеш. нехорошо.) короче, первое: nginx смотрит в мемкеш, если там *нет* значения - идёт в бэкенд. бэкенд по запросу кладёт в мемкеш. второе: при изменении баланса бэкенд смотрит в мемкеш, если там *есть* значение - обновляет его. это потенциально созаёт проблему: если на каком-то аккаунте транзакции будут идти чаще, чем время жизни в кеше, то они всегда там будут 9точнее - до рестарта мемкеша), даже если их не запрашивает юзер. насколько это серьёзная проблема - судить вам. я предполагаю что, при описанном юзкейсе и небольгом e.t., не очень серьёзная - много ли будет таких активных аккаунтов? думаю что нет, а с небольшим числом это не будет проблемой. при желании её можно решить каким-нибудь неспешным фоновым сканом, выгребающим разлогиненых юзеров из кеша баланса.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,18812,18819#msg-18819




--
Deomid "rojer" Ryabkov
myself@xxxxxxxxxxx
rojer@xxxxxxxxxxxx
ICQ: 8025844

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature



 




Copyright © Lexa Software, 1996-2009.