Wenn man eine grosse TYOPO3 Instanz mit mehreren Domains (> 20) und vielen GB Daten performant im Web präsentieren will gibt es einiges zu beachten. Nun möchte ich mal eine möglich Serverarchitektur vorstellen. Diese hat keinen Anspruch auf Vollständigkeit und Richtigkeit und sollte nicht als der Weisheit letzter Schluss gesehen werden. Gerne freu‘ ich mich über Kommentare dazu.
Ein kurzer beschrieb zur Architektur:
Es gibt zwei DB Server. Einer physikalisch einer virtuell. Diesen könnten synchronisiert und als Backup zu dienen. Eine weitere Möglichkeit könnte auch ein Master / Slave Konzept sein. Dabei hinterlegt man zwei Datenverbindungen an sodass im Ausfall des Master Servers der Slave Server einspringt und die Verfügbarkeit sichert. Auf dem physikalischen DB Server könnte auch der Tomcat für die Solr Indizierung und andere Dienste und Datenbanken laufen.
Der VM1 ist ein virtueller Webserver wie Apache. Diesen Server könnte man beliebig für Testsysteme klonen und bei Bedarf skalieren oder gar in die Cloud auslagern.
Der VM2 ist ein virtueller Reverse Proxy in einer DMZ zwecks Sicherheit. Dort liegen gecachte Seiten um die Performance hoch zu halten.
Weitere zu beachtende Punkte:
- MySQL unterstützt nur einen Server mit Schreibmöglichkeiten, daher könnte Loadbalancing oder Hot-Standby sehr instabil werden.
- Persistent Connect wäre hier gut um Performance Verluste zu vermeiden. Denn jeder neue Connect auf die DB kostet 20 ms. Im TYPO3 könnte das aber auch zu Problemen führen.
- TYPO3 kann man technisch nicht komplett in Frontend und Backend aufteilen, da es überall Schnittstellen gibt. Das Frontend hat viele Gebiete in denen Inhalte geschrieben werden.
- Gerne freu‘ ich mich über eure Erfahrungen mit großen TYPO3 Instanzen.
Dies ist ein Gastbeitrag von Thomas Wittek für die “Alles muss raus” Aktion.