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