lesovsky
@lesovsky
System engineer and PostgreSQL DBA

хранение статики в S3

Всем привет!
Появилась задача вынести хранение статики в Amazon S3.

По предварительным наброскам это выглядит примерно так:
Есть корзина в S3 он монтируется на сервера по s3fs. Сервера изменяют там данные. В EC2 также есть машина со смонтированной корзиной, эта машина используется для раздачи контента CDN провайдеру (а тот уже дальше раздает контент со своих площадок).

Так вот, тут всплывает несколько непонятных для меня вещей
— как в S3 реализованы блокировки? Что будет если 2 и более узла захотят поправить один и тот же файл?
— как фронтендам отдавать статику, т.е. я так понимаю они затягиваю файлики по s3fs, кэшируют в pagecache/nginx/etc и отдают клиенту?

Подскажите есть ли статьи которые описывают подобные решения, или может кто-то может поделиться собственным опытом?

P.S. пока читаю статьи из поисковой выдачи хабра по запросу «s3»
  • Вопрос задан
  • 5180 просмотров
Пригласить эксперта
Ответы на вопрос 4
1) Почему s3fs? Используйте родное API.
2) Кто последний, тот и папа. Насколько я знаю, блокировок нет, это тупое хранилище.
3) Зачем лишнее звено в виде «pagecache/nginx/etc»? Отдавайте прямо с s3.
Ответ написан
opium
@opium
Просто люблю качественно работать
Вы придумали фигню, для это амазон уже придумал cloudfront.

Настраивается легко и не принужденно
habrahabr.ru/post/136933/
надо только на сайте будет сменить пути.
Ответ написан
lesovsky
@lesovsky Автор вопроса
System engineer and PostgreSQL DBA
opium и alex_bel я знаю как работает CDN, я говорю о том что в случае именно Amazon CloudFront (чьих ДЦ нет в России) отклик для российских клиентов будет большой в отличие от использования того же Ngenix (чьих мощностей в РФ предостаточно)

>> Вы приписали плюс клоудфронта почему то к его минусу.
в данном случае минус не отдельного клаудфронта, а всего амазона вцелом (минус в том что он отсутствует в России)
Ответ написан
Zelgadis
@Zelgadis
Извращенцы.

Заливать надо через родное API, если есть возможность то можно прямо с клиента заливать.

Отдавать надо через любую CDN или свой прокси поставить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы