I'm trying to work out a solution in my head where two backend linux-servers run HTTP, SMTP, XMPP mirrored and should load balance connections between them.
My current solution is an OpenBSD box infront, that can of course be extended with carp to add more in the future to avoid single point of failure. Using PF I could have a pool of servers to send traffic to, using random or round-robin methods.
And using relayd I can remove non-functioning pool-servers from it.
But I would value the opinions of the community on this matter, so please tell me your best Unix load balancing solution for this type of environment.
One goal would be that a single server should be allowed to fail with minimal service interruption.