C/C++ version Load balancer DNS
cbuxton at menandmice.com
Sat Apr 4 00:04:01 UTC 2009
On Apr 3, 2009, at 4:31 PM, 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
>>> 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
>>> should come to remaining available servers quickly (assume within
>>> I feel we can use DNS for this purpose, but doing load balance in
>> 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
>> Chris Buxton
>> Professional Services
>> Men & Mice
>> bind-users mailing list
>> bind-us... at lists.isc.orghttps://lists.isc.org/mailman/listinfo/bind-
> 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
> Please tell why we can not use DNS sollution for this.
Because browsers cache DNS results, often ignoring TTL's. In my
(admittedly ancient) experience, browsers would cache the last x
number of DNS results they got, where x was something like 50 or 100.
And a result to be cached was equal to the first IP address in the DNS
result - all other data was discarded.
Therefore, if one server of your cluster goes down, connections don't
switch to other available servers. They just fail.
Now IE 7 and later, I have been told, behaves differently. But I
believe other browsers still behave this way.
DNS-based load balancing, in my experience, is not up to the demanding
task you have in mind.
Men & Mice
More information about the bind-users