In diesem AEM Dispatcher Artikel möchte ich einen allgemeinen Überblick darüber geben, was ein Dispatcher ist und warum wir ihn brauchen. Dieser Überblick wird ein besseres Verständnis dafür vermitteln, was wir in den folgenden Teilen konfigurieren werden.
Es gibt zwei wesentliche Ansätze für die Web-Veröffentlichung: statische Webserver und Content-Management-Server.
Statische Webserver
Statische Webserver, wie Apache oder IIS, sind sehr einfach und schnell. Eines der herausragendsten Merkmale statischer Webserver ist ihre Erweiterbarkeit durch Drittanbieter-Plugins.

Die ersten statischen Webserver wurden in den Anfängen des Internetzeitalters Mitte der 90er Jahre geschaffen.
Der Apache HTTP Server („httpd“) war einzigartig, entwickelte sich aber bald zum beliebtesten statischen Webserver. 1995 eingeführt, wurde der Apache HTTP Server im April 1996 zum beliebtesten statischen Webserver und ist seitdem der beliebteste Internet-Webserver.
Im Februar 2015 feierte der Server seinen 20. Geburtstag. Die Entwicklung des Apache HTTP Servers erwies sich als entscheidend für die Open-Source-Welt, einschließlich der Java Open-Source-Software. Dieser Server wurde von 10-15 Entwicklern erstellt, die die ursprüngliche Apache Group gründeten. 1999 bildeten die Mitglieder der Apache Group die Apache Software Foundation (ASF)-Community, die die Anzahl der Open-Source-Softwareprojekte erheblich erweiterte.
Diese Open-Source-Projekte vereinfachten die Entwicklung von Java-Anwendungen. Einige bemerkenswerte Beispiele von Apache Open Source sind Felix (OSGi-Implementierung), Jackrabbit (JCR-Implementierung) und Sling. Alle diese werden in AEM verwendet.
Content-Management-Server
Content-Management-Server sind der zweite Ansatz für die Web-Veröffentlichung. Sie liefern dynamische, Echtzeit- und intelligente Inhalte, erfordern aber mehr Verarbeitung und Ressourcen.

Wir verwenden standardmäßig den zweiten Ansatz bei der Arbeit mit AEM. Die minimale Umgebungskonfiguration für die Web-Veröffentlichung mit AEM besteht aus zwei AEM-Instanzen: Author und Publish.
Was ist ein Dispatcher in AEM?
Der Dispatcher kombiniert die Geschwindigkeit eines statischen Webservers mit der Flexibilität eines Content Management Servers. Der Dispatcher arbeitet als Teil eines statischen HTML-Servers (wie z.B. Apache). Mit anderen Worten, der Dispatcher ist lediglich ein Drittanbieter-Plugin (Plugins werden bei Apache httpd als „Module“ bezeichnet) für statische Webserver. Adobe hat dieses Plugin entwickelt.

Eine solche Umgebung bietet Caching mit Fokus auf:
- Speichern (oder „Cachen“) von möglichst vielen Website-Inhalten in Form einer statischen Website;
- Zugriff auf die Layout-Engine so selten wie möglich.
Das bedeutet, dass:
- Statische Inhalte mit der gleichen Geschwindigkeit und Leichtigkeit wie auf einem statischen Webserver verarbeitet werden; zusätzlich können Sie die für Ihre statischen Webserver verfügbaren Verwaltungs- und Sicherheitstools nutzen;
- Dynamische Inhalte bei Bedarf generiert werden, ohne das System stärker als nötig zu verlangsamen.
Der Dispatcher enthält Mechanismen, um statisches HTML basierend auf dem Inhalt der dynamischen Website zu generieren und zu aktualisieren. Sie können detailliert festlegen, welche Dokumente als statische Dateien gespeichert und welche immer dynamisch generiert werden.

Neben dem Caching bietet der Dispatcher die Vorteile des Load Balancings. Load Balancing ist die Praxis, die Rechenlast der Website auf mehrere AEM-Instanzen zu verteilen. Sie profitieren von erhöhter Verarbeitungsleistung und verbesserter Ausfallsicherheit.

Zusammenfassung
Die Hauptziele des Dispatchers:
- Caching;
- Lastverteilung (Load Balancing).
Der Dispatcher bietet die folgenden zusätzlichen Vorteile:
- Sicherheit;
- Anfragenverarbeitungsmanagement.
Detailliertere Dokumentation finden Sie auf der folgenden Seite: https://docs.adobe.com/docs/en/dispatcher.html
FAQ
Was ist ein Dispatcher in AEM?
Der Dispatcher ist ein Caching- und Lastverteilungs-Tool, das von Adobe für AEM-Implementierungen entwickelt wurde. Er verteilt eingehende Anfragen gleichmäßig auf mehrere AEM Publish-Instanzen, um deren Last zu minimieren. Zusätzlich liefert er, wenn möglich, zwischengespeicherte Inhalte an Endbenutzer aus, was zu einer verbesserten Website-Performance führt.
Wie funktioniert ein Dispatcher in AEM?
In AEM fungiert der Dispatcher als Proxy-Server zwischen der Website und dem Benutzer. Wenn der Browser eines Benutzers eine Seite anfordert, prüft der Dispatcher seinen Cache auf eine vorab abgerufene Version dieser Seite. Ist die zwischengespeicherte Seite aktuell, liefert der Dispatcher sie an den Benutzer aus. Ist der zwischengespeicherte Inhalt jedoch veraltet, leitet der Dispatcher die Anfrage an die AEM Publish-Instanz weiter. Die Publish-Instanz generiert eine neue Version der Seite, die der Dispatcher zwischenspeichert und an den Benutzer ausliefert. Dieser Prozess verbessert die Website-Performance, indem er die Last auf AEM-Instanzen minimiert und, wann immer möglich, zwischengespeicherte Inhalte ausliefert.
Was sind Author-Publisher und Dispatcher in AEM?
Der Author-Publisher ist ein zweistufiges System, das die Inhaltserstellung (Author-Instanz) und die Inhaltsbereitstellung (Publisher-Instanz) trennt. Der Dispatcher fungiert als Vermittler zwischen den AEM Author-Publisher-Instanzen und den Endbenutzern. Er reduziert die Anzahl der Anfragen an die AEM-Instanzen, indem er zwischengespeicherte Inhalte ausliefert, was zu einer verbesserten Website-Performance führt.
Wie richtet man den AEM Dispatcher ein?
Laden Sie zuerst das AEM SDK herunter und entpacken Sie die Dispatcher Tools aus der Zip-Datei in ein spezielles Verzeichnis auf Ihrem Webserver. Konfigurieren Sie dann das AEM Dispatcher-Modul, um eine Verbindung zu Ihrer AEM-Instanz herzustellen und Inhalte zwischenzuspeichern. Testen Sie abschließend Ihre Konfiguration, um sicherzustellen, dass sie ordnungsgemäß funktioniert. Detaillierte Anweisungen finden Sie in der AEM-Dokumentation.
Was ist eine Dispatcher-URL?
Der Dispatcher speichert AEM-Website-Seiten im Cache und stellt sie Benutzern zur Verfügung. Die Webadresse der zwischengespeicherten Seiten wird als Dispatcher-URLs bezeichnet.