From: Grant Taylor
Date: 2007-04-17 16:28:46 -0400
Subject: Re: milter-spamc: Multiple spamd servers?
More information..: http://www.milter.info/#Support
On 04/17/07 09:42, Anthony Howe wrote:
> milter-spamd uses one spamd connection per message. A transaction
> consists of sending SPAMD protocol headers and message content, wait for
> and read reply, close spamd connection.
I figured as much. I'm thankful for it as well. Such a simple protocol
makes it easy to do interesting things like load balancing. :)
> In theory I think it could be load balanced. However, I would not do
> the load balancing in milter-spamd (at least not at first). I'd probably
> opt to implement round-robin and leave load balancing to a suitable
I don't think I would want the client application to try to do the load
balancing. There is too much control that is lost if it does. I.e. a
central load balancer can add or remove processing nodes on the fly with
out reconfiguring any thing client side. If you had the client do the
load balancing, you would have to role out a new config or some how
instruct the clients to re-resolve the name to IP.
What would be nice is to be able to pass a list of servers to the client
and have it do a timing test on which one responds the fastest and then
use it for the duration. Something like what DNS servers do in deciding
which root server to use. I think they all start with an artificially
low time. The client will try the server with the lowest time and
remember how long it took for that given server to respond / update the
time. Each time a query is made, find the fastest server and then
update the time. So, the DNS server's root DNS client will self update
and use the fastest responding server. IMHO this is a relatively simple
technique to allow a client to utilize multiple servers with out
worrying about load balancing.
Grant. . . .
Copyright 2009, 2012 by SnertSoft. All rights reserved.