Load balancing in the context of Plone
Load balancing (in the Plone context) is the process of distributing requests amongst two or more Zope 2 instances, capable of handling the load. There are a variety of tools available to help with load balancing in Plone including Apache, Varnish, HAProxy, and Pound.
Of these, we will focus primarily on HAProxy and Pound, as they provide the most full-featured and flexible implementations.
Installing HAProxy—a load balancer
One popular load balancer is HAProxy (http://haproxy.1wt.eu/).
You may reach for it when you would like a more fully-featured load balancer than Pound (covered a little later, not to impugn Pound's work).
The HAProxy binary
To make installation with Buildout easy, there is a recipe called plone.recipe.haproxy (http://pypi.python.org/pypi/plone.recipe.haproxy).
In 06-deployment-optimization-haproxy.cfg
, we have:
[buildout] extends = 06-deployment-optimization-macros.cfg parts += haproxy-install [haproxy-install] recipe = plone.recipe...