Un balanceo de carga round-robin simple rompe IMAP. Dos backends que atienden al mismo usuario producen índices en conflicto, mensajes que faltan y discrepancias de UIDVALIDITY que vuelven a descargar buzones completos.
La tarea del director: asignar cada usuario a un solo backend a la vez, con failover persistente.
[ Client ] → [ Director cluster ] → consistent-hashes user → [ Backend N ]
Dos formas de desplegarlo:
- Proxy solo con director: el director se ejecuta en hosts dedicados y hace de proxy de IMAP/POP3 hacia los backends.
- Director en el backend: cada backend ejecuta el director. Más sencillo, con menos piezas móviles.
La mayoría de las instalaciones en producción eligen la #2.
Piezas necesarias:
- Todos los backends comparten la misma autenticación (passdb devuelve la misma userdb).
- Todos los backends montan el mismo almacenamiento de correo (NFS, GlusterFS, Ceph o replicación).
- Los directores forman un clúster entre sí mediante
director_servers.
Inicia sesión para llevar el registro de lo que ya leíste.