keepalived — Provide simple and robust facilities for loadbalancing and high-availability.
For details, see keepalived.