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).