t.me/oneRustnoqRust Для чего нужна данная статья? : Реализация распределенной файловой системы на Rust, поддерживающую масштабирование, хранение данных с поддержкой оффлайн работы, возможность работы без подключения к интернету, запуск в контейнерах Docker для тестирования и увеличение пропускной способности чтения с нескольких серверов. Зачем Вам это уметь? : FileData — что хранится в файле Это структура, которая представляет сам файл. Хранится в памяти на сервере. FileStats — статистика использования файла Это нужно, чтобы понимать: часто ли читают этот файл?
На основе этого принимается решение — "горячий" он или нет. PopularityPredictor — "машинное обучение" (на самом деле — умная эвристика) Файл считается "горячим", если: Это гораздо эффективнее, чем настоящая нейросеть (быстрее, надёжнее, без зависимостей). То есть все файлы хранятся в оперативной памяти (очень быстро!). Это основное состояние одного сервера.
Благодаря Arc и Clone — его можно безопасно передавать в обработчики