Evaluation of the Newsfeed System
Evaluate the newsfeed design with respect to its non-functional requirements.
We'll cover the following
Fulfilling requirements
Our non-functional requirements for the proposed newsfeed system design are scalability, fault tolerance, availability, and low latency. Let’s discuss one by one how the proposed system fulfills these requirements.
-
Scalability: The proposed system is scalable to handle an ever-increasing number of users. The required resources, including load balancers, web servers, and other relevant servers, are added/removed on demand.
-
Fault tolerance: The replication of data consisting of users’ metadata, posts, and newsfeed makes the system fault-tolerant. . Moreover, the redundant resources are always there to handle the failure of a server or its component.
-
Availability: The system is highly available by providing redundant servers and replicating data on them. When a user gets disconnected due to some fault in the server, the session is re-created via a load balancer with a different server. Moreover, the data (users metadata, posts, and newsfeeds) is stored on different and redundant database clusters, which provides high availability and durability.
-
Low latency: There are various levels at which we minimize the system’s latency.
-
Through geographically distributed servers and the cache associated with them. This way, we bring the service close to users.
-
Using CDNs for frequently accessed newsfeeds and media content.
-
Create a free account to access the full course.
By signing up, you agree to Educative's Terms of Service and Privacy Policy