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:
- Incoming request is forwarded to one of several frontend servers using simple heuristics like request IP-balancing a number of requests for one frontend.
- 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.
- A backend service redirect a request to a database and report XML back to the frontend via HTTP.
- The frontend server caches backend results based on result timestamps and input parameters.
- The frontend server reports XSL-transformed page to the user.
No comments:
Post a Comment