[Dovecot] quick question
tss at iki.fi
Fri Jan 22 19:54:23 EET 2010
On Fri, 2010-01-22 at 19:31 +0200, Timo Sirainen wrote:
> Better would be to have some kind of a database that externally monitors
> what servers are up and where users currently have connections, and
> based on that decide where to redirect a new connection. Although that's
> also slightly racy unless done carefully.
Wonder if something like this would work:
user_id integer primary key,
Then some kind of logic that:
- if user already exists in user_connections table AND
(imap_connections > 0 OR last_lookup>now() - 1 hour) use the old
- otherwise figure out a new server for it based on servers'
connection_count and new_connections_ok.
- when inserting, handle on duplicate key error
- when updating, use update user_connections .. where user_id = $userid
and server_id = $old_server_id, and be prepared to handle when this
returns 0 rows updated.
Once in a while maybe clean up stale rows from user_connections. And
properly keeping track of imap_connections count might also be
problematic, so maybe once in a while somehow check from all servers if
the user actually still has any connections.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 198 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20100122/68520815/attachment.bin
More information about the dovecot