Sorry, missed out your reply.
(Disclaimer - in my day job, I'm a network architect / engineer)
What is the function of your application?
What exactly are your customer's requirements?
What do they mean and expect when they ask for "server redundancy"?
It is a messaging server (email + sms) with tcp interface. The customer requires some sort of failover.
Are they looking for fail-over, true load balancing or just client incoming connection distribution?
Failover is sufficient.
Are they asking for the application itself to be load balanced? (ie: is this a clustered application?)
This is generally not required.
There is plenty of information available if you google "unix load balancing".
I prefer to build in the redundancy at the application level.
I've posted on codegear forum, and someone suggested by adding/removing a virtual IP address.
https://forums.embarcadero.com//thread.jspa?threadID=60119 (see postings by Nguyen Diep). The client will connect to the primary and failover server using the virtual ip address.
I know this can be done on windows easily using netsh, on debian, it would appear that i must edit /etc/network/interfaces. Not sure if there's a command line method.