02.02.2016
Author: Meinrad Schwamborn

Clustering auch mit Liferay CE

Immer wieder fragen uns Liferay Interessenten, ob ein Clustering bei der Liferay Community Edition auch möglich ist. Unsere Antwort ist ganz klar ja.

Wann brauchen Sie ein Clustering für Ihre Unternehmensportal Lösung?

Nutzen viele User Liferay CE gleichzeitig, ermöglichen Clustering und ein Loadbalancer die sichere, zuverlässige und performante Bereitstellung Ihrer Portalanwendung. Insbesondere in Umgebungen mit hohen Ansprüchen an Durchsatz und Performance wird ein Loadbalancer eingesetzt. Dieser verteilt die Seitenabrufe der User auf mehrere Applikationsserver, auf denen Liferay installiert ist. Die Anfragen werden dynamisch und situationsabhängig vom Loadbalancer verteilt.

Wie arbeitet ein Cluster?

Die Applikationsserver wie Tomcat oder JBoss werden so konfiguriert, dass sie untereinander kommunizieren. Sogenannte Caches sind Zwischenspeicher der Daten, die Liferay mit den Usern austauschen. Insbesondere die Informationen dieser Caches werden unter den einzelnen Applikationsservern ausgetauscht, sodass die Caches immer auf dem gleichen Stand sind. Dadurch erhält der User immer die richtigen Daten, egal auf welchen Applikationsserver er tatsächlich zugreift.

Um die Caches auf dem gleichen Stand zu halten, verwendet Liferay EHCache.

Alle Liferay Applikationsserver arbeiten mit der gleichen Datenbank. Als weitere Maßnahme kann auch die Datenbank gegen Ausfall gesichert werden. Die einzelnen Maßnahmen hängen dabei stark vom eingesetzten Datenbanksystem ab.

 

 

Liferay CE Clustering wird konfiguriert

In der Default-Konfiguration des in Liferay verwendeten EHCache ist Clustering nicht aktiv. Wird das Clustering aktiviert tritt ein rechnerischer Overhead auf. Dieser ist abhängig von der Anzahl der Applikationsserver im Cluster und der Anzahl der Daten die in den Caches gespeichert sind. Für die EE-Version ist zur Verbesserung der Performance von Liferay ein spezieller Algorithmus erhältlich, der diesen Overhead reduziert.
Für die Liferay CE-Version Cluster bauen wir für unsere Kunden einen Cluster auf und passen die Default-Konfiguration an.

(Das Standard EHCache Verhalten kann über zusätzliche Software, wie. z.B. den Terracotta Server in der Leistungsfähigkeit noch deutlich verbessert werden.)

Fazit: Grundsätzlich kann auch die Liferay CE-Version verwendet werden, um hoch skalierbare und ausfallsichere Cluster aufzubauen.