XBEHOLI
@XBEHOLI
back-end developer

Как работает облако?

Расскажите пожалуйста, как работает облако хранилище?

Чтобы сохранить файл, он сохраняется в какое-то папку?
Когда пользователь хочет создать папку для загрузок своих файлов, то просто в базу добавляется запись, что он создал папку и потом простая иконка выводится, верно?

Знаю, что для хранилище нужно само облако
  • Вопрос задан
  • 357 просмотров
Пригласить эксперта
Ответы на вопрос 1
index0h
@index0h
PHP, Golang. https://github.com/index0h
Простейший самописный вариант: от файла берется md5 сумма, для примера: abcdef01234567890123456789012345. Вычисляется путь к файлу (лучше в древовидном виде), как можно использовать: /path/to/storage/ab/cd/ef/01234567890123456789012345. Дальше в БД записывается оригинальное имя, хэш и рассчитанный путь к файлу. При получении запроса на вывод файла - определяем из БД путь к файлу и отдаем его.
Правда этот вариант только на один сервер, в случае прям облака - файл должен еще и копироваться мещду каким-то количеством серверов, для сохранности и доступности.

Есть старая добрая mogilefs, хранит файлы чанками в БД, автоматически копирует чанки между серверами. При загрузке возвращает идентификатор, по которому потом можно этот файл достать.

Есть minio - это совместимая альтернатива s3 для разворачивания на своих серверах. Принцип работы похож на помесь первого и второго. Правда можно и без хэша в имени.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы