[Dovecot] dovecot director service

Xavier Pons xavier.pons at uib.es
Fri Jul 9 10:01:08 EEST 2010


  El 08/07/2010 13:26, Timo Sirainen escribió:
> On 8.7.2010, at 10.48, Brandon Davidson wrote:
>
>>> Yes, we will have two hardware balancers in front of proxies. Thus,  the
>>> director service will detect failures of backend servers and not forward
>>> sessions them? how detects if a  backend server it's alive or not?
>> IIRC, it does not detect failures of backend servers. It's up to you to
>> detect outages and react appropriately.
>>
>> The folks that sponsored Director development apparently have a monitoring
>> script that removes downed nodes by running something like 'ssh directorhost
>> doveadm director remove backendhost', and then re-adds them when they come
>> back up.
> Yes. It was also much simpler to implement that way :) Maybe it wouldn't be hugely difficult to implement internally though:
>
>   - notify-connection is already used to send notifications about what user connections exist. the same api could be used to send a notification that 'backend x is down'. but a single "connection refused" probably shouldn't bring down the host without at least a few tries within several seconds.. removal would be done by setting vhost_count=0
>   - adding hosts back up automatically would require more code in director where it would automatically try to connect to them every once in a while. probably save the pre-removal vhost count and then add it back with that vhost count.
>   - the proxy itself should also have some code to deal with connect failures by doing another passdb lookup a while after sending the 'host is down' notification and then reconnecting to the new host.
>   - then some settings how long to try to connect to a backend until it's declared dead. either a hanging connect(), hanging existing connections or connect() refused attempts tried for that long time.
>
I think this new funcionalities would be perfect (necessary ;-) ) for a 
complete load balanced/high availability mail system.
>> I am not aware of a way to get Dovecot to output the director ring status.
>> That would be nice though, to be able to list the directors and how many
>> connections they're each proxying.
> Yeah. Any good naming ideas for the doveadm director command? :)
something like doveadm director servers  ?!?!

Xavier



More information about the dovecot mailing list