High-Level Design of Twitter
Understand the high-level design of the Twitter service.
User-system interaction
Let’s begin with the high-level design of our Twitter system. We will initially highlight and discuss the building blocks (and some other components) in the context of the Twitter problem briefly. Later on, we will dive deep into a few components in this chapter.
-
Users post Tweets delivered to the server through the load balancer. Then, the system stores it in persistent storage.
-
DNS provides the specified IP address to the end-user to start communication with the requested service.
-
CDN is situated near the users to provide requested data with low latency. When users search for a specified term or tag, the system first searches in the CDN proxy servers containing the most frequently requested content.
-
Load balancer chooses the operational application server based on traffic load on the available servers and the user requests.
-
Storage system represents the various types of storage (SQL-based and NoSQL-based) in the above illustration. We will discuss significant storage systems later in this chapter.
-
Application servers provide various services and have business logic to orchestrate between different components to meet our functional requirements.
We have detailed chapters on DNS, CDN, specified storage systems (Databases, Key-value store, ...
Create a free account to access the full course.
By signing up, you agree to Educative's Terms of Service and Privacy Policy