Разделите метаданные и права в БД, бинарные объекты в object storage, а совместное редактирование текста — в отдельный сервис операций и синхронизации.
Спроектируйте внутренний сервис обмена текстовыми и большими бинарными файлами с возможностью совместного редактирования текстовых файлов.
Разделите метаданные и права в БД, бинарные объекты в object storage, а совместное редактирование текста — в отдельный сервис операций и синхронизации.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Разделите метаданные и права в БД, бинарные объекты в object storage, а совместное редактирование текста — в отдельный сервис операций и синхронизации.
Для больших файлов используйте загрузку частями, возобновление, checksum и короткоживущие ссылки с проверкой доступа. Метаданные хранят владельца, ACL, версии, размер и статус готовности; незавершённые загрузки очищаются по политике.
Текстовые документы редактируются через WebSocket и OT/CRDT с журналом операций и периодическими снимками. Продумайте восстановление соединения, дубли, конфликт прав и офлайн-правки. Скачивание бинарников не должно проходить через редактор. Добавьте квоты, аудит без содержимого, резервирование и проверку вложений; требования к масштабу и задержке уточните до выбора конкретных технологий.