Я хочу создать сервис видеохостинга с нуля. У меня есть доступ к нескольким каналам трафика, поэтому пользоваться такой услугой будет сразу. Я хотел посмотреть, какие существуют варианты для этого.
Функция сайта проста.
Пользователь загружает видео в любом видеоформате. Видео конвертируется в форматы mp4 и 3gpp, после чего становится доступно для потоковой передачи через частный (или общедоступный) URL.
По моим оценкам, в течение первых 4 месяцев будет несколько терабайт данных при использовании полосы пропускания более 3 гигабит.
Скорость является ключевым фактором, я хочу, чтобы видео загружались быстро, но я также не хочу тратить целое состояние на серверы за 20 000 долларов.
Вы можете порекомендовать простое решение, которое можно масштабировать от 1 до 100 серверов.
РЕДАКТИРОВАТЬ 1:
Первоначально я думал об этом:
Проблема, которая меня "пугает", это то, что на одном сервере будет около 500-800ГБ места (15к дисков SAS в raid5). Как только это будет превышено ... добавление новых серверов и просто сохранение идентификатора сервера в списке основных файлов не имеет большого значения ... но через некоторое время это будет очень неэффективно ... поскольку после того, как сервер будет заполнен вверх, и файлы стареют, к ним будет обращаться меньше людей ... так что в этот момент он становится чрезмерно мощным сервером архивации, что является пустой тратой. Я хочу избежать этой проблемы.
Ах, наш любимый * вопрос SF.com - вы хотите, чтобы новая система была быстрой, надежной, гибкой и дешевой - мы вспоминаем об этом только каждые несколько дней;)
Я занимаюсь потоковой передачей видео, ориентированной на потребителя, уже более четырех лет, и у вас не может быть всего этого, где-то вам придется идти на компромисс. Тем не менее, исходя из предположения, что у вас нет QoS или клиентского SLA (время до начала сеанса, пропущенные кадры и т. Д.), Чтобы беспокоиться об этом, звучит так, как будто вам понадобится следующее;
Лично я предпочитаю FC чему-либо, основанному на Ethernet, поскольку он растет гораздо более предсказуемо, но бюджеты могут иметь значение; если вам нужно использовать NAS, используя NFS, а не CIFS / SMB, он намного более зрелый. Да и многолучевость там, где можно.
Из них вы хотите убедиться, что ваши блоки БД «надежны» и что ваша сеть в первую очередь отсортирована, со всем остальным довольно легко справиться. Не делайте глупостей, покупая сетевые адаптеры 10 Гбит / с для своих серверов VoD, ведь одновременный трафик 3 Гбит / с на самом деле очень низок, и вы можете в значительной степени гарантировать, что даже самый плохо настроенный современный сервер обеспечит потоковую передачу 1 Гбит / с круглосуточно, так что просто получите куча дешевых, чтобы у вас была устойчивость оборудования в случае их поломки.
У меня было бы сильное искушение использовать блейд-серверы для всех и VMWare для всех, кроме серверов БД и VoD, но у вас может не хватить бюджета, конечно, эти две технологии могут значительно помочь с плавным расширением в будущем, но их начальная стоимость не из дешевых.
Удачи.
* это правда, правда :)
Я бы просто кинул на EC2. Помимо этого простого и довольно тривиального намека, здесь слишком много возможностей ответить на такой смехотворно открытый вопрос.
Избегайте облачных решений для всего, что использует большую пропускную способность, так как вы в конечном итоге заплатите тысячи, если сможете заплатить половину того, что взимает Amazon. Я добавлю больше, когда вы ответите на некоторые вопросы.
Проверить wowza http://www.wowzamedia.com/ - разумный дешевый софт. Что касается оборудования, вы можете использовать любой дешевый сервер размером 1U за 700 долларов, так как для потоковой передачи не требуется много процессора. Просто убедитесь, что вы настроили несколько серверов в режиме аварийного переключения, чтобы позволить себе отказы оборудования. Что касается хранилища и т.д., трудно сказать, зависит от требований io.
В основном, как говорят womble и gekkz, слишком много переменных, чтобы дать разумный ответ. :)