Using HAProxy to load-balance multiple web servers
You have a successful website and it is time to scale out to multiple web servers to support it. HAProxy is a very fast and reliable load-balancer and proxy for TCP- and HTTP-based applications.
You can put it in front of your web servers and let it distribute the load. If you configure it on an HA cluster by using heartbeat (see the Building high-availability services using heartbeat recipe in this chapter), you have a complete high-availability solution available.
Getting ready
Make sure that you have at least one node registered on your Chef server with the role web_server
in its run list. The following example will set up HAProxy so that it routes all requests to all your nodes that have the web_server
role.
Make sure that you have a cookbook called my_cookbook
and that the run_list
of your node includes my_cookbook
, as described in the Creating and using cookbooks recipe in Chapter 1, Chef Infrastructure.
Create your Berksfile
in your Chef...