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