System Design: проектируем сервис для хранения и обмена файлами
The article discusses the system design of a file storage and sharing service similar to Dropbox, focusing on functional and non-functional requirements. It outlines key features such as file upload, download, sharing, and synchronization across devices, while emphasizing availability, security, and performance. The design approach includes API definition, entity modeling, and trade-offs in distributed systems, particularly around the CAP theorem.
- ▪Users can upload, download, and share files from any device with synchronization across devices.
- ▪The system must support files up to 50 GB and prioritize high availability over strong consistency.
- ▪Security, reliability, and fast file operations are critical non-functional requirements.
- ▪The design process follows functional requirements first, then addresses scalability and availability using non-functional constraints.
- ▪API design includes endpoints for core operations and models entities like File, FileMetadata, and User.
Opening excerpt (first ~120 words) tap to expand
try { if(localStorage) { let currentUser = localStorage.getItem('current_user'); if (currentUser) { currentUser = JSON.parse(currentUser); if (currentUser.id === 3858241) { document.getElementById('article-show-container').classList.add('current-user-is-article-author'); } } } } catch (e) { console.error(e); } NowInterview Posted on May 16 System Design: проектируем сервис для хранения и обмена файлами #career #architecture #backend #microservices Видеоразбор этой задачи на русском языке можно посмотреть здесь - https://www.youtube.com/watch?v=Zw5A33rTlL0 Больше статей и разборов по System Design: https://nowinterview.ru Проектирование Dropbox Постановка задачи ☁️ Что такое Dropbox? Dropbox - это облачный сервис, позволяющий пользователям хранить и обмениваться файлами.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at DEV.to (Top).