Медленны� отдельном потоке ил�

Deomid Ryabkov myself at rojer.pp.ru
Sun Nov 1 21:53:51 MSK 2009


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 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/20091101/fd8b451d/attachment.bin>


More information about the nginx-ru mailing list