Figure 10-6. Simple shared-nothing deployment environment
* Aforward proxy sits in front of users and accelerates content that those users request. A reverse proxy sits in
front of web servers and accelerates the content requested of that server. A proxy balancer is a reverse proxy
that balances requests among its member servers.
Web server/
load balancer
Application
server
Application
server
Application
server
More application
servers as
needed
DB Internet
Rails Deployment | 317
One drawback of this architecture is that once the database becomes the bottleneck,
things can get difficult. Database scalability is a hard problem, and we examine this
issue in Chapter 4.
Front End Web Server
The front end web server has several purposes. Depending on the application, these
may be mission-critical or not even needed. Consequently, the concrete systems
architecture will look very different from application to application. The most common
functions of the front end server are the following:
Reverse proxying and load balancing
The front end server balances and distributes requests between the application
servers. It also acts as a reverse proxy so that the requests to the application servers
appear to be coming from the client, rather than the balancer.
Static file serving
The front end web server (which may or may not be the same software as the
load balancer) serves static files much faster than the application servers.
Pages:
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482