High avaliabilty for IMAP/PROXY

ktm at rice.edu ktm at rice.edu
Thu Sep 18 15:43:23 EDT 2014


On Thu, Sep 18, 2014 at 12:07:57PM -0700, Vincent Fox wrote:
> On 9/18/2014 11:58 AM, Fabio S. Schmidt wrote:
> > Hi,
> >
> > - Sorry if it seems to be a little off-topic -
> >
> > We have deployed Cyrus Aggregator and currently we provide load
> > balancing and high availability for the Cyrus Front Ends through DNS.
> > With this scenario, if a Frontend is unavailable it will receive
> > connections unless we remove it from the DNS record for the IMAP
> > service.
> >
> > Does anyone have any better ideas to improve the high availability? I
> > was wondering about using HAPROXY vs NGINX but I do not know their
> > behaviours in cases like I mentioned above.
> >
> We have for about 8 years used Perdition for POP/IMAP proxy.
> 
> 3 simple Linux boxes in a load balanced pool.
> 
> Friends don't let friends do Round Robin DNS.  You can't count
> on removing DNS entries, since propagation can be very slow and
> some clients don't even respect TTL.
> 

We also used Perdition here for our POP3/IMAP proxy. Unfortunately, its
process per connection resulted in an enormous resource footprint when
everyone was connected to the server. In addition, the startup stampede
of processes completely swamped the frontends crippling the performance
until a steady state was reached. As a result, we moved to using NGINX
as our POP3/IMAP proxy. Now a single-box can carry the connection load
that 4 or more boxes struggled with along with better responsiveness
and performance to boot.

These are all located behind our Citrix Netscaler boxes. You should
be able to replicate their function with either haproxy or nginx.

Regards,
Ken


More information about the Info-cyrus mailing list