Evaluation of Quora’s Design

Learn how the proposed design fulfills the non-functional requirements.

Fulfilling requirements

We have used various techniques to fulfill our functional requirements. However, we need to determine if we have fulfilled the non-functional requirements. We’ll highlight some of the mechanisms we have utilized to address the non-functional requirements:

  • Scalability: Our system is highly scalable for several reasons. The updated design uses powerful and homogeneous service hostsQuora now uses Amazon EC2 instances with 32 cores, a shared 20 MB cache, and high network throughput.. Quora uses powerful machines because service hosts use an in-memory cache, some level of queueing, maintain manager, worker, and routing library. The horizontal scaling of these service hosts is convenient because they are homogeneous.

    On the database end, our design shards the MySQL databases vertically, which avoids issues in scalability because of overloaded MySQL servers. To reduce complex join queries, ...

Level up your interview prep. Join Educative to access 70+ hands-on prep courses.