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

синхронизация пула серверов и управление для обслуживания видео

Я хотел бы обслуживать видео с пула серверов и иметь как минимум две копии каждого, чтобы предотвратить сбой сервера и потерю данных. Цель - создать своего рода облако, в которое я могу добавить столько серверов, сколько захочу. Я проверил openstack, glusterfs, moosefs, но их решения, похоже, мне не нужны, так как некоторым нужны прокси, другим - данные и т. Д.

На самом деле у меня есть 5 серверов, на которых я проверяю при каждой загрузке видео свободное место на диске, а затем распределяю видео как минимум на 2 сервера, затем сохраняю эти имена серверов в базе данных и генерирую 2 URL-адреса, которые я случайным образом вызываю для балансировки. (т.е. http://srv1.mystream.com/1234/myvideo.flv, http://srv2.mystream.com/1234/myvideo.flv )

Это работает нормально, за исключением двух вещей:

Я могу продолжать так же и дополнять недостающие скрипты, но я уверен, что есть существующие системы лучше, чем моя, более надежные, чем я когда-либо делал.

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

Любая помощь приветствуется.

поскольку видео статичны ... почему бы просто не использовать что-нибудь вроде s3 и cloudfront в качестве компакт-диска для показа видео? Кажется, имеет больше смысла, чем запускать серверы и пытаться таким образом реплицировать данные. Использование серверов просто создает больший риск и работу, чем использование s3 с облачным интерфейсом.

  1. Вам действительно нужно распределенное хранилище; не пытайтесь катить его самостоятельно. Это решит проблему «удалить все копии», а также множество других проблем, которые вы еще не рассмотрели. Открытый исходный код, Isilon, что-то еще - зависит от ваших конкретных потребностей и бюджета.
  2. Вам действительно нужен какой-то внешний прокси для такой службы - это может быть просто Apache или что-то еще. Кроме того, каким бы ни был ваш интерфейс, он также должен быть кластером с балансировкой нагрузки.
  3. Я не очень хорошо знаком с OpenStack, но уверен, что вы неправильно его читаете.

Эти ответы подходят практически для любой коммерческой службы. Если вы делаете это в качестве учебного упражнения, но не заинтересованы в изучении профессиональных практик, связанных с настройкой чего-то подобного, вы попали не на тот сайт. На самом деле, этот вопрос настолько открытый (как я упоминал в своем комментарии), что вообще-то не очень подходит для этого сайта.