On Wed, Dec 05, 2001 at 02:59:47PM +0100, V. T. Mueller wrote:
> On Wed, 5 Dec 2001, Ollie Cook wrote:
> > mysql_servers = host1::3306/database1/user1/password1\
> > host2::3306/database2/user2/password2
> > If the "domains" table is on host2 and the "users" table is on host1
> > when a mail arrives Exim will do three lookups:
> > 1) DOMAINS lookup on host1 which will fail because that table
> > doesn't exist on host1
> > 2) DOMAINS lookup on host2 which will succeed if the domain
> > is in the table on host2
> > 3) USERS lookup on host1 if #2 succeeds
> > It seems wasteful to do query #1, here.
>
> This mechanism provides redundancy, which indeed is something very
> reasonable to do. If you experience performance issues, you can always
> buy faster hardware. What if one of your machines fail? It will cause the
> whole service to fail, because your design actually doubled the failure
> rate instead of decreasing it.
>
> The software's job is to offer smart and reliable means for
> implementation, and this is exactly what exim does.
>
> So I strongly oppose the change requested for v4 .
>
> Regards,
> Volker
Hi Volker,
You have a good point, but there is a happy medium:
mysql_servers = set1/host1::3306/database1/user1/password1\
set1/backup-host1::3306/database1/user1/password1\
set2/host2::3306/database2/user2/password2\
set2/backup-host2::3306/database2/user2/password2
with, for example:
local_parts = mysql;set1;USERS
This would still allow for redundancy, but still cut down on the
erroneous connections to database which have no hope of answering
the query.
Yours,
Ollie
--
Oliver Cook Systems Administrator, ClaraNET
ollie@??? 020 7903 3065