Why do you feel that you can't keep track of which host was previously called? Have you seen Storable and DBM::Deep?
Another solution, which can be just as problematic as using rand may be to use Time::HiRes. Divide a second into 4 quarters and choose which host to use based on which quarter you are in at runtime.
Cheers - L~R
In reply to Re: Load Balancing
by Limbic~Region
in thread Load Balancing
by onegative
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |