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.

  1. 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.

  2. 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.

  3. 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.

  4. 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