Initial Design of Quora

Lesson 118 of 25610 min readPremium lesson preview
In this lesson1 sections

Initial Design of Quora

Initial design

This initial design separates request handling, persistent content, cached data, and ranking work. These are choices for the proposed service, not a verified inventory of Quora’s current infrastructure:

  • Web and application servers: Web servers accept incoming HTTP requests and forward them to application servers for processing. They run manager processes that delegate work to worker processes on application servers through a routing layer. This routing layer manages task queues, where managers enqueue tasks and workers dequeue them for execution. Application servers may also maintain in-memory priority queues to differentiate request classes. The following diagram shows an abstract view of this architecture:

Web and application servers at Quora
Web and application servers at Quora

The rest of this lesson is for Premium members

Premium opens every lesson in this course, along with all questions and solutions on PracHub.