А на чём бы вы сделали хранилище для раздачи 100TB+ видео?

Scumtron
На сайте с 14.01.2008
Offline
166
1471

Доброго времени суток!

Задумался над сабжем, так как появилась потребность в хранении и раздаче большого объема видео (mp4). В теории имеется 100500 видео файлов и постоянно добавляется по 200-300 шт в день. Раздача планируется с кеширующих серверов, которые обращаются к основному хранилищу. Смотрю в сторону Ceph и Gluster, но пугают нестабильностью (возможно, ошибаюсь, нет опыта работы с ними). А на чём бы вы сделали хранилище для 100TB+ видео?

Выделенные серверы в Европе. Доставка видео контента. https://kvs-service.com
kxk
На сайте с 30.01.2005
Offline
970
kxk
#1

Scumtron, Нужен сервер очередей и под 10, 10 ТБ серверов.

Без сервера очередей с 1 точкой отказа даже самой жирной Вы обречены на провал.

Ваш DEVOPS
S
На сайте с 23.05.2004
Offline
316
#2

Любой CDN. Просто альтернативы нет.

Это просто подпись.
Scumtron
На сайте с 14.01.2008
Offline
166
#3

Stek, были и есть мысли использовать под хранилище, что-то типа Amazon S3 или более дешевый аналог. Полноценный CDN не подойдет, раздача дорогая. Я не спеша перебираю разные варианты.

danforth
На сайте с 18.12.2015
Offline
153
#4
kxk:
Нужен сервер очередей и под 10, 10 ТБ серверов.
Без сервера очередей с 1 точкой отказа даже самой жирной Вы обречены на провал.

А каким образом сервер очередей поможет с раздачей видео? С загрузкой - понятно, очереди решают задачу, с раздачей не могу понять куда оно.

Scumtron, сколько траффика вы раздаете в час? Насколько по гео размазаны клиенты? Какое распределение по запросам: например в основном запрашивают 200-300 файлов, или клиенты запрашивают по всем 100Тб равномерно?

Junior Web Developer
Scumtron
На сайте с 14.01.2008
Offline
166
#5

danforth, в среднем 27 Гбит, в пиковые часы до 40 доходит. 45TB контента, RAID 10 HDD (DC Edition) c кешированием на SSD. Горячий контент 10-15%.

> Насколько по гео размазаны клиенты?

Россия 75%, остальное СНГ.

> С загрузкой - понятно, очереди решают задачу, с раздачей не могу понять куда оно.

Согласен. С загрузкой и конвертацией отлично справляется движок проекта, там все отлажено, т.е., этот пункт не интересен.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#6
Scumtron:
Смотрю в сторону Ceph и Gluster

Это вам не нужно, вам нужен простой шардинг, т.е. просто разбрасываете видео по разным серверам (www1, www2, ..., wwwN) и делаете ссылки на видео на разные поддомены.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
Scumtron
На сайте с 14.01.2008
Offline
166
#7

Оптимизайка, я использую KVS, а он так не умеет.

danforth
На сайте с 18.12.2015
Offline
153
#8

Scumtron, сомневаюсь что вы сможете всегда оставаться в рамках готового решения.

Можно посмотреть на ceph/glusterfs, они умеют в нормальный ребалансинг и динамическое добавление нод в кластер.

Проблема шардинга по распределенным системам это хеш функция которая выбирает шард, а точнее результат работы хешфункции при удалении/добавлении ноды в кластер. Добавление ноды в кластер затрагивает данные на других нодах, и приходиться делать перебалансировку на всей системе, а это очень трудозатратная процедура, которая может привести к падению всей системы, если запустить её не вовремя.

Чтобы делать ребалансинг части системы, обычно берут либо алгоритм консистентного хеширования, либо его улучшенную версию с bounded loads, чтобы избавиться от хот спотов. Но это все потребует писанины низкоуровневого кода, и будет на порядок производительней (хотя, смотря как написать).

Я бы сделал как-то так.

Scumtron
На сайте с 14.01.2008
Offline
166
#9
danforth:
Можно посмотреть на ceph/glusterfs, они умеют в нормальный ребалансинг и динамическое добавление нод в кластер.

Т.е. ceph/glusterfs подходят для моей задачи?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий