Dies ist eine alte Version des Dokuments!
Die Architektur von Benno MailArchiv ist im Hinblick auf einfache horziontale Skalierungs entwickelt worden. Dieses ermöglicht gerade bei Multi-Mandanten Konfigurationen ein System, daß mit den Anforderungen bezüglich Durchsatz schnell und einfach automatisiert erweitertert werden kann.
Gateway-Systeme | Indexierung und Archivierung | Storage-
| | Backend(s)
| |
| |
| |
| | +-------+
+------------+ +---------------+ | MD1 |
+->| benno-smtp |-->inbox1/-->| benno-archive |---->+-------|
/ +------------+ +---------------+ | MD2 |
/ | | +=======|
+-------------+/ +------------+ +---------------+ | MD3 |
| milter2smtp +----->| benno-smtp |-->inbox2/-->| benno-archive |---->|-------|
+-------------+\ +------------+ +---------------+ | MD4 |
\ | | +=======|
\ +------------+ +---------------+ | MD5 |
+->| benno-smtp |-->inbox3/-->| benno-archive |---->|-------|
+------------+ +---------------+ | MDn |
| | +-------+
| |
| |
Die Während der Übertragung der E-Mails von den Gateway-MTAs zur Archivierung kann ermittelt werden, welchen Mandanten die jeweilige E-Mail zugeordnet werden muss. Die E-Mail wird dannn an die Archivierungs-Instanzen geschickt, bei denen die jeweiligen Mandanten konfiguriert sind.
Die Speicherung der E-Maildaten in Repo und Index erfolgt auf dem nachgelagerten Storage-Backend. Hier können die Mandanten auf unterschiedliche Volumes verteilt werden. Damit kann eine relativ gleichmäßige IO- und Speicherplatz-Auslastung der Volumes erreicht werden.
Storage- | Suche und Export | Anzeige / UI
Backend(s) | |
| |
| |
| |
+------------+
+--->| benno-rest |<---+
| +------------+ | +-----------+
+-------+ | | | |
| MD1 |<---+ +------------+ +---->| benno-web |
+-------| |--->| benno-rest |<---+ | |
| MD2 |<---+ +------------+ | +-----------+
+=======| | |
| MD3 |<---+ +------------+ |
|-------| |--->| benno-rest |<---+
| MD4 |<---+ +------------+ |
+=======| | |
| MD5 |<---+ +------------+ | +-----------+
|-------| |--->| benno-rest |<---+ | |
| MDn |<---+ +------------+ +---->| benno-web |
+-------+ | | | |
| +------------+ | +-----------+
+--->| benno-rest |<---+
+------------+
| |
| |
Die Suche und Anzeige kann ebenfalls auf unterschiedlichen Maschinen konfiguriert werden. Die benno-rest-Instanzen greifen über das Netzwerk (NFS, ISCSI, …) 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 am Web-UI in benno-web wird auf Basis der Mandanten-Zuordnung des Benutzer dynamisch festgelegt, auf welche benno-rest Instanz in dieser Session zugegriffen wird.
Die Die Kommunikation zwischen benno-web und benno-rest läuft dabei über HTTP(S).