Backends within each service are grouped in balancer groups. Each such group is assigned a unique integer priority, which defines the order in which the groups are tried. When selecting a backend, a group with the numerically lesser priority is selected and a suitable backend is looked up among backends defined in the group, using one of the balancing strategies discussed above. If no backend can be selected (e.g. all backends are unavailable), next group is tried. The process continues until either a backend is chosen or the list of balancer groups is exhausted.
By default, backends declared using the Backend
keyword are
assigned to the balancer group 0. These are backends used during
normal operation. Backends declared using the Emergency
keyword
(see Emergency) are assigned to the balancer group 65535. These
backends form a pull of high availability backends, which will
be used if all of the normal backends fail.
More backend groups can be added using dynamic backends, discussed in the next section.