資料內(nèi)容:
Step 5: High-level design
Draw a block diagram with 5-6 boxes representing the core components of our
system. We should identify enough components that are needed to solve the actual
problem from end-to-end.
For Twitter, at a high-level, we will need multiple application servers to serve all the
read/write requests with load balancers in front of them for traffic distributions. If
we’re assuming that we will have a lot more read traffic (as compared to write), we
can decide to have separate servers for handling these scenarios. On the backend, we
need an efficient database that can store all the tweets and can support a huge
number of reads. We will also need a distributed file storage system for storing
photos and videos.