Loading...
Upload:
View:
Collaboration:
We also consider peak QPS would be as twice as these numbers. Based on the QPS and storage size needed, we'd use distributed system architecture to design the system.
Upload
View files - navigation
Share
File versioning
Collaboration
user table
file table
file blob storage - Store the actual file blobs, accessed with file_blob_link
folder table
version table
Client
Load balancer
API Gateway / webapp server
Upload service
UserDB
File DB
Folder DB
File blob
Upload worker
Upload message queue
Navigation service
Navigation cache
Share service
Version service
Version DB
Collab service
Collab file cache
File upload
Create folder
Navigation
Share
Versioning
Collab
Collab
DB Sharding
File merge during collab
File merge during collab