Die Architektur von Benno MailArchiv wurde im Hinblick auf einfache horziontale
Skalierbarkeit entwickelt. Dies ermöglicht gerade bei sehr großen Multi-Mandanten Konfigurationen
ein Setup, dass bezüglich Durchsatz und Geschwindigkeit schnell und einfach automatisiert erweitert werden kann.
Während alle Benno MailArchiv Komponenten „out of the box“ gemeinsam auf einer Maschine agieren, können die Komponenten bei Bedarf (z.B. bei sehr hoher Last oder auch bei entsprechend verteilten Umgebungen des Hosters) einfach und schnell in die Breite skaliert werden.
Während der Übertragung der E-Mails von den Gateway-MTAs zur Archivierung in Benno MailArchiv kann ermittelt werden, welchen Mandanten die jeweilige E-Mail zugeordnet werden muss. Die E-Mail wird dann an diejenige Archivierungs-Instanz geschickt, bei denen die jeweiligen Mandanten konfiguriert sind.
Die Speicherung der E-Maildaten im Archiv (Repo) und Index erfolgt auf den nachgelagerten Storage-Backends. Hier können die Mandanten auf unterschiedliche Volumes verteilt werden. Damit kann eine relativ gleichmäßige I/O- und Speicherplatz-Auslastung der Volumes erreicht werden.
Die Suche und Anzeige kann ebenfalls auf unterschiedlichen Maschinen konfiguriert werden. Die benno-rest-Instanzen greifen über das Netzwerk (NFS, CIFS, …) auf die Storage Volumes zu.
Die benno-rest Systeme werden jeweils so konfiguriert, daß sie die Index-Suche und den Mail-Zugriff ür einen Teil der Mandanten abbilden können.
Während der Anmeldung an der WebApp (benno-web) wird auf Basis der Mandanten-Zuordnung des Benutzers dynamisch festgelegt, auf welche benno-rest Instanz in dieser Session zugegriffen wird.
Die Kommunikation zwischen benno-web und benno-rest erfolgt dabei über HTTP(S).