C/C++ version Load balancer DNS

Kevin Darcy kcd at chrysler.com
Fri Apr 3 23:59:29 UTC 2009

MSP wrote:
> On Apr 3, 4:11 pm, Chris Buxton <cbux... at menandmice.com> wrote:
>>> Using DNS, I want to do load balancing of client requests among my
>>> available servers dynamically.
>>> In realtime requirements, any/many servers among the configured me be
>>> down or overloaded.
>>> I want to have control over distribution of load to these servers. I
>>> want to have a common FQDN to the clients and they know only FQDN. I
>>> would like to have 10/20 servers handling the client requests. When
>>> ever a server goes down, all the requests (thousands) it was handling,
>>> should come to remaining available servers quickly (assume within few
>>> seconds).
>>> I feel we can use DNS for this purpose, but doing load balance in
>>> realtime?
>> I don't believe you will be successful at this with just DNS. The  
>> problem is that you want client connections switched over in case of a  
>> server failure. My understanding is that web browsers will not honor  
>> your TTL's. (This is how it was the last time I operated a production  
>> web server cluster, back in medieval times. I don't see why things  
>> would have changed.)
>> What you need is a load balancing solution at the HTTP level.  
>> Preferably more than one, such that the devices can share an IP  
>> together in some kind of fault-tolerant way.
>> Either way, if it were me, I would start my search at the F5 website.http://www.f5.com/solutions/availability/
>> Chris Buxton
>> Professional Services
>> Men & Mice
>> _______________________________________________
>> bind-users mailing list
>> bind-us... at lists.isc.orghttps://lists.isc.org/mailman/listinfo/bind-users
> Hi Chris,
>   I have these servers located on the same system (paraller processing
> - loosely coupled). I will know the load on these servers at realtime
> and for new connections, I want to do proper load balance. Basically,
> I want to send least loaded server IP address in the DNS response so
> that the new client connection goes to the least loaded server. And if
> any server goes down, my client application will do DNS query and I
> will distribute these new connections among available servers.
> This sollution which I am thinking is for some telecom application and
> not for web browsers.
> I  kown that TTL for my requirement should be ZERO, so that no cashing
> happens.
> Please tell why we can not use DNS sollution for this.
If this is for load-balancing which is strictly internal to your own 
network(s) (where TTL=0 might be acceptable), where the client/server 
interaction is non-web-based (thus eliminating browser caching from the 
equation), and the client abort/retry/checkpoint/restart logic is as 
sophisticated as you describe it above, then you might be able to use 
DNS somewhat effectively, without any investment in hardware or 
specialized load-balancer products.

But, I doubt that any package already exists to support this very narrow 
set of requirements. You'd probably have to write it yourself.

                           - Kevin

More information about the bind-users mailing list