Кто-нибудь знает простой способ хранения кеша Rails Page на Amazon S3? - PullRequest
2 голосов
/ 27 января 2009

Я ищу простой и автоматизированный способ хранения кеша страниц на S3 (и, конечно, в облачном фронте). Я знаю плагин, который делает это с кешем фрагментов, но перед тем, как создать его сам, я хотел подключиться к нему. коллективная мудрость тут :) 1001 *

Отредактировано: чтобы прояснить ситуацию, я не собираюсь использовать S3 для обслуживания файлов, а скорее CloudFront CDN.

Ответы [ 2 ]

2 голосов
/ 28 января 2009

Для того, чтобы поместить что-то в CloudFront, вы должны сначала сделать это в S3. См. введение Amazon для всех шагов. По сути, вы помещаете документ в корзину на S3, а затем делаете вызов API, чтобы зарегистрировать вашу корзину для распространения (вы делаете это с помощью предоставляемого ими perl-скрипта). В этот момент они передают содержимое вашего сегмента на пограничные серверы для высокопроизводительного распределения. Вы можете менять содержимое вашего ведра один раз в час.

В любом случае, для того, чтобы использовать CloudFront, вам действительно нужно получить содержимое ваших отрендеренных страниц в S3. После того, как вы запустили дистрибутив, вы сможете управлять своим контентом в CloudFront.

Простейшим способом управления кешем в S3, вероятно, будет создание модели для кеша и использование плагина attachment_fu для хранения содержимого страницы в s3. Затем вы могли бы использовать Функциональность Observer ActiveRecord , чтобы сделать недействительным и заново заполнить кеш в соответствии с вашим приложением. Единственный другой хитрый момент - доступ к ActionView для доступа к результату рендеринга страницы, но я уверен, что вы могли бы извлечь часть этого кода из самой системы кэширования страниц по умолчанию.

Если вы действительно этого хотите, вы, вероятно, можете объединить все эти функции в плагин, который позволит легко использовать его в разных приложениях для вас и других.

0 голосов
/ 27 января 2009

Я прочитал заголовок и собирался сказать вам, что Amazon начал делать CDN несколько недель назад. Но, очевидно, вы уже знаете это. :)

Существует пакет Python, который выглядит так, как будто он охватывает CloudFront, botto . Но это все, что я могу найти.

Я думаю, ты первый ... иди и начинай. Дайте мне знать, где это, я, наверное, раскошелюлся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...