Назад | Перейти на главную страницу

Правильный способ обработки файловой системы

У нас есть веб-сайт, на котором наша ежедневная пропускная способность составляет примерно 10 ГБ пользовательского контента.

Программный уровень - это просто Heroku + некоторые надстройки для БД и мониторинга, а мы обрабатываем загрузку и обслуживание данных с помощью S3 и Cloudfront. Маршрутизация DNS выполняется через Route53.

Сначала я подумал, что Cloudfront будет сопоставим с любым другим VPN с точки зрения пропускной способности (неясная цена), но с нашей ставкой мы уже платим 30 долларов в месяц. По сравнению с любыми местными хостинг-провайдерами в нашей стране (нам действительно не нужен широко распределенный CDN, поскольку это небольшая страна), мы будем получать 300 ГБ в ДЕНЬ за небольшую часть этой стоимости.

Чтобы решить эту проблему, мы начали аренду одного сервера и сделали следующее

  1. Все файлы перемещены на арендованный сервер
  2. Установил FTP-клиент в нашем приложении heroku
  3. Загрузите все файлы на новый "не облачный" сервер вместо S3.
  4. Задайте URL-адреса для файлов, которые будут указывать на новое расположение файлов.

Очевидно, что при такой настройке недостатком является то, что мы больше не получаем CDN, что почти нормально, поскольку наш трафик в любом случае сосредоточен в одном месте.

Еще один недостаток - масштабируемость: очевидно, что в какой-то момент мы достигнем либо предела пропускной способности, либо просто ограничения места на сервере. Итак, вопрос: какие инструменты необходимы для масштабирования хранилища файлов?

Или, как побочный вопрос: я думаю я либо что-то не так с настройкой (в этом случае напишите ответ или комментарий), или почему любой здравомыслящий человек выбрал бы Cloudfront (или любой другой CDN?), учитывая огромную разницу в стоимости?