Храните оригиналы в объектном хранилище, метаданные — в БД, а выдачу организуйте через CDN и подготовленные варианты размеров с версионированными URL.
Как бы вы архитектурно организовали работу с изображениями, загружаемыми через админку: хранение, выдачу и кэширование?
Храните оригиналы в объектном хранилище, метаданные — в БД, а выдачу организуйте через CDN и подготовленные варианты размеров с версионированными URL.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Храните оригиналы в объектном хранилище, метаданные — в БД, а выдачу организуйте через CDN и подготовленные варианты размеров с версионированными URL.
Загрузку проверяйте по правам, размеру и фактическому формату; преобразование изображений выполняйте изолированно. Для публичных неизменяемых файлов подходит длительный кеш, для приватных — авторизованная выдача или ограниченные ссылки. Замена изображения создаёт новую версию URL. Планируйте удаление неиспользуемых файлов и защиту от загрузки чрезмерно больших изображений.