Sunday, October 17, 2010

Client Request Lifecycle

Basics

The document describes a typical data flow in the system. A web server gets HTTP request from a user, and reports results back. Asynchronous communication models add communication based on a user input.

Scalability

A scalable system requires load balancing during different stages of request processing:

  1. Incoming request is forwarded to one of several frontend servers using simple heuristics like request IP-balancing a number of requests for one frontend.
  2. A frontend server is a lightweight, configurable http server. It parses incoming requests and contact in parallel a number of backend service instances needed to process this request. Less loaded service instances are chosen.
  3. A backend service redirect a request to a database and report XML back to the frontend via HTTP.
  4. The frontend server caches backend results based on result timestamps and input parameters.
  5. The frontend server reports XSL-transformed page to the user.

No comments:

Post a Comment