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