Задача: есть три файловых хранилища на S3 amazon (файловые помойки). Они все идентичные, но находятся в разных регионах. Нам нужно создать точку доступа для работы с этими файлами (более 3 терабайт файлов). Это будет удаленная Windows машина, где развернут сетевой диск и пользователь может работать с файлами на сетевом диске, как обычно. Но что происходит под капотом.
Примерная архитектура такая, что мы представляем: у нас файловый сервер к каждому S3. На этих файловых серверах есть грязный кеш. Этот кеш синхронизируется на всех 3-4 серверах. Таким образом, если пользователь открыл файл A и затянул его с файлового сервера 1, то у остальных файловых серверов, как и у сервера 1, этот файл появился в кеше. Далее, у нас есть общая машина-замок, которая отвечает за блокировку работы с файлом. Это то, куда будет обращаться клиент (видимо тот или иной файловый сервер), чтобы понять, если этот файл блокирован уже кем то или он свободен. Этот сервер-замок работает по следующей технологии:
aws.amazon.com/blogs/data... Далее идет сама синхронизация файлов.
Нужен опыт человека, кто работал на проектах, где создавалась файловая система, или может когда-то писал собственную файловую систему.
- Пример статьи про собственную файловую систему:
medium.com/datadriveninve... - Здесь описание, как на нескольких серверах синхронизируется лог файл работы с файлами:
www.sqlshack.com/sql-serv...