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