среда, 13 июля 2011 г.

Re: Par: Re: mysql + blob

Хранить картинки на одном backend сервере (например на том, куда
сделали upload), и отдавать через 2 nginx фронтенда попутно кешируя
картинки на ФС не пробовали? Nginx такое умеет...

Или если не хочется кешировать, то можно rsync + fallback если
картинка еще не долетела...

Или отдавать по замонтированному в read only NFS?

Любое из этих решений быстрее, лучше и даже надежнее чем хранить в БД.

2011/7/4 Ruslan Zavackiy <ruslan.zavackiy@gmail.com>:
> Хм, а почему вы все как один считаете что хранить картинки в базе это плохо?
> Дело не в том, как их хранить, дело в том, как их отдавать. Тут нужно
> представлять реализацию таким образом, что в базе у вас храниться реальная
> картинка, при первом запросе такой картинки, вы должны создать её кэш на
> диске, и в последующих обращениях спрашивать сначала сервер, а нету ли такой
> картинки. Мы у себя организовывали Image Server, который хранил картинки в
> базе, и отдавал их из базы в первый раз, в последующие с харда. Бонус такого
> подхода в том, что если у вас например 10 серверов, которые обслуживают
> картинки, вам не нужно их все время куда-то копировать или еще какае-то
> магия, вы просто храните их в 1 базе, а остальные сервера каждый у себя
> делает локальные копии.
> А по поводу реализации, посмотрите на rewrite для вашего сервера, можно
> реализовать таким образом, что он сам будет проверять, есть ли картинка на
> диске, если нет, по уже запускать ваш скрипт, который вытащит её из базы.
>
> --
> --
> Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы
> "RubyOnRails to russian" на группах Google.
> FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
>
> Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
> ror2ru@googlegroups.com
> Чтобы отменить подписку на эту группу, отправьте сообщение по адресу:
> ror2ru-unsubscribe@googlegroups.com
> Дополнительные варианты находятся на странице группы
> http://groups.google.com/group/ror2ru?hl=ru

--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ

Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

Комментариев нет:

Отправить комментарий