load balancing again
kcd at daimlerchrysler.com
Tue Feb 28 01:43:06 UTC 2006
Wiley Sanders wrote:
>>the latest version of BIND removes duplicate records so essentially you are with 2 records, one for each address.
>This is news to me. When did this change? We run 9.2.1 (I know,
>ancient) and it shuffles through multiple A records just fine,
>although the result appear neither precisely "random" nor "round
I think you guys are talking past each other. BIND has eliminated
duplicate records for *years*, as per the mandate of RFC 2181. I think
even the earliest versions of BIND 8 did this. But duplicate-elimination
and the "round robin"-ness of answer sets are two different things.
There was a major change from BIND 8 to BIND 9 in that the default
behavior (previously round robin) changed to "cyclic", in which the
first record of the set is picked at random, and all of the remaining
records follow in proper rotational order from that record. So it's kind
of a mixture of random and "true" round-robin. If true round-robin were
implemented in BIND 9, the nameserver would remember what it gave as the
first record in the set each time, and advance it one "click" for each
response. There would be no randomness involved, and the nameserver
would have to remember state.
>I don't know if the results are "balanced" - they are,
>however, "different" every time :-) . I suppose for truly random load
>balancing, or for balancing based on some other performance metric,
>you will need a specialized balancer.
Um, no, an rrset-order of "random" works fine, if randomization is what
you want (well, I guess the "fine"ness of the randomization would be
limited by the quality of the PRNG on your particular platform, but
let's not split hairs). Of course, randomization can lead to
unpredictable traffic "spikes", but then that's the nature of the beast,
not something to be blamed on BIND.
More information about the bind-users