System Design — Scaling from Zero to Millions Of Users
<p>I have read this great book <a href="https://amzn.eu/d/hLN5N8v" rel="noopener ugc nofollow" target="_blank"><strong>System Design Interview — An insider’s guide by Alex Xu</strong></a><strong> </strong>in depth. So most of my definitions and images will be referred from this book itself as they are highly interactive and give us a clear picture of what is happening.</p>
<p>We will be focussing first on building a system that handles a single user and then gradually scaling it to serve millions of users. Though this article won't be in-depth but will give you all the concepts like a swiss multi-utility knife to further read in-depth and get a starting point for all your system design problems.</p>
<p>Let’s first look at this single server setup which can serve a single user easily:</p>
<p><img alt="" src="https://miro.medium.com/v2/resize:fit:700/1*7umoBkxqCQ32tBv4DrnHbg.png" style="height:382px; width:700px" /></p>
<p>Image source <a href="https://amzn.eu/d/hLN5N8v" rel="noopener ugc nofollow" target="_blank"><strong>System Design Interview — An insider’s guide by Alex Xu</strong></a></p>
<h2><strong>What do we have here?</strong></h2>
<p>Web browser/Mobile app as a user, DNS, Web server and a few other things like domain name, IP address etc.</p>
<p>Requests will be coming from the User and our only Web server will be processing the request and serving the response.</p>
<h2><strong>We see a new keyword here, What is DNS?</strong></h2>
<p>Just like the phonebook stores the mapping of a person’s name to their phone numbers (excluding those people who can memorise contacts), we have DNS which stores the mapping of domain names to IP addresses.</p>
<p><a href="https://medium.com/geekculture/system-design-scaling-from-zero-to-millions-of-users-deca270ef784">Read More</a></p>