Tools used in system Design

In this chapter we shall look into different tools that are used in system design. Below is the compilation of the tools and a brief 1 or 2 points of each tools. List of topics discussed: 1. Containers 2. Schedulers 3. CDN 4. Message Queue 5. Monitoring 6. Load Balancer 7. Logging software 8. Data […]

System design for online messaging service like whatsapp

System design for online messaging service like whatsapp In this chapter we shall discuss system design for online messaging service. How whatsapp is different from other messaging services? In whatsapp, the text are end to end encrypted. Hence intermediate servers cannot read your messages. In whatsapp, the messages are stored in server till the other […]

System design for micro blogging service like twitter

In this tutorial we shall discuss about: 1. User should be able to tweet to all of his followers who has >10M followers. 2. Timeline: 1. Home Time line: It has all the tweets that you are following. 2. User Time line: This is specific to specific user timeline 3. Search Time line: Here user […]

System design for Pastebin like service

Pastebin is a service, where the user can store plane text for example like source code or code review and share to other users via URL. Before we design the system, below are the list of points to be considered: 1. Requirements 2. API Creation 3. DB design 4. Loadbalancer 5. Cache 6. Sharding 7. […]

System design for online file sharing services

In this chapter we shall learn system design for online file sharing services like Dropbox or google drive. Below are the list of features that we shall be discussing: 1. Upload and download 2. Sync data 3. History of file changes Assumptions on the number of requests that the server will be receiving: 10Million users […]

System design for Online movie ticket booking system

System design for Online movie ticket booking system In this tutorial we shall look at the system design for online movie ticket booking system. A basic ticket booking system will work as below: A user will go to that ticket booking website and book a ticket. The booking website will go to the theater database […]

System Design for URL Shortner.

So this is one of the most popular interview questions. The theme of URL shorter is that the user will provide a long URL we need to return the short URL. If the user provides short URL we need to provide the long URL. One of the simplest solution is to create a Map which […]

System Design for Autocomplete for search.

So whenever you search in google or amazon, whenever you start to type, it will immediately show you list of options in the search result. You can either select one from the list, or you can continue typing it will update with the relavent list. So in this system design tutorial, we shall look at […]

System Design Tutorial: CDN

Introduction to CDN. In this topic we shall see what is CDN and why it is used. CDN starts for Content Distribution Network Suppose you have a website that is very popular. Lots of people will be visiting the website from different locations. Thus making your website slow to handle all the requests. SO once […]

System Design Tutorial: ACID properties

This tutorial we shall learn about ACID properties. In this chapter we shall study about what is ACID properties of a transaction and why it is important. ACID stands for: 1. Automicity 2. Consistency 3. Isolation 4. Durability Need for ACID properties? Whenever we need to read or write into DB we need the data […]