Решение для резервного копирования, управления версиями и репликации файловых данных
У нас есть растущий набор файлов данных (WAV-файлы, файлы изображений и т. Д.), Которые являются данными, т.е. не являются частью кода приложения - загружаются и изменяются пользователями. Количество файлов указывается в тысячах, а общий размер достигает ГБ.
У нас есть несколько кластеров серверов в разных местах по всему миру (США, ЕС, ME). В каждом кластере важно, чтобы данные обслуживались локально, а не с S3 (файлы данных не доставляются напрямую клиентам, а обрабатываются серверами). Мы хотим назначить файловый сервер в каждом месте, который будет передавать файлы через NFS другим узлам в том же кластере.
Итак, суть заключается в следующем:
- Файлы, загруженные через приложение, должны
S3, - Каждый узел файлового сервера должен реплицировать эти файлы.
Мы видим несколько вариантов:
- Используя
originфайловый сервер, который реплицируется наS3для резервного копирования / управления версиями и для узлов черезrsync(или похожие). - То же, что и выше, но рабы воспроизводятся из
S3используя что-то вроде инструмента S3 или аналогичного. - Не используя
origin- код приложения загружается прямо вS3и рабы воспроизводят, как указано выше.
Нам было интересно, какое решение рекомендуется и какие инструменты доступны для репликации (то есть в категории файловая система-файловая система и в категории файловая система /S3).