Prev | Current Page 470 | Next

Brad Ediger

"Advanced Rails"


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