System Design - System design of Dropbox 2012

Subscribe Send me a message home page tags


In this post, we document the system design of dropbox in 2012 mentioned in the Youtube video How We've Scaled Dropbox. What we can learn is that staring from a single server architecture is ok. It's actually necessary because when we start a new thing we don't know where it will go nor do we have the resource to develop sophisticated architecture. The focus should be on the functionality and to build a minimal viable product as soon as possible.

initial_architecture.png

The final design is illustrated by the figure below. Caches and load balancers are added. These two changes are optimization.

final_architecture_2012.png

There is another change introduced in the final design: BlockServer does not connet to DB anymore. We could consider this change as a separation of responsibility. Another way to think of it is that to some extent the usage of DB is an “implementation detail” and BlockServer should not care too much about it.

change_explained.png

----- END -----

Welcome to join reddit self-learning community.
Send me a message Subscribe to blog updates

Want some fun stuff?

/static/shopping_demo.png