[milters] Archive

Lists Index Date Thread Search

Article: 1559
From: Grant Taylor
Date: 2007-04-17 16:28:46 -0400
Subject: Re: milter-spamc: Multiple spamd servers?

Removal...........: milters-request@milter.info?subject=remove
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 
> appliance.

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. . . .

Lists Index Date Thread Search