Einfaches Round-Robin-Load-Balancing bricht IMAP. Zwei Backends, die denselben Benutzer bedienen, erzeugen widersprüchliche Indizes, fehlende Nachrichten und UIDVALIDITY-Abweichungen, durch die ganze Postfächer neu heruntergeladen werden.
Die Aufgabe des Directors: jeden Benutzer zu jedem Zeitpunkt genau einem Backend zuzuordnen, mit festem Failover.
[ Client ] → [ Director cluster ] → consistent-hashes user → [ Backend N ]
Zwei Varianten der Bereitstellung:
- Reiner Director-Proxy: Der Director läuft auf eigenen Hosts und leitet IMAP/POP3 an die Backends weiter.
- Director auf dem Backend: Jedes Backend betreibt einen Director. Einfacher, weniger bewegliche Teile.
Die meisten Produktivsysteme wählen Variante 2.
Erforderliche Bausteine:
- Alle Backends nutzen dieselbe Authentifizierung (passdb liefert dieselbe userdb).
- Alle Backends binden denselben Mailspeicher ein (NFS, GlusterFS, Ceph oder Replikation).
- Die Directors bilden über
director_serversuntereinander einen Cluster.
Melden Sie sich an, um festzuhalten, was Sie gelesen haben.