Foren

Mehrere Liferay Installationen bzw. Instanzen auf einem Server

Amjed Ben Salah, geändert vor 8 Jahren.

Mehrere Liferay Installationen bzw. Instanzen auf einem Server

New Member Beiträge: 2 Beitrittsdatum: 27.12.15 Neueste Beiträge
Hallo,

ich habe für eine Webanwendung Liferay Portal Community Edition 6.2 CE GA5 mit Tomcat Bundle installiert und damit konnte ich sehr einfach und bequem die Webanwendung entwickeln. Ich möchte aber jetzt auf dem selben Server Liferay für andere Webanwendungen benutzen mit komplett anderen Domainnamen und Datenbanken. Wie ist die beste Lösung dafür? Soll ich das liferay mit Tomcat Bundle mehrmals installieren und die Portkonfiguration von Tomcat immer bearbeiten (Nachteil: mehrere Tomcat Instantanzen auf dem selben Server; Memory Verschwendung) oder gibt es eine andere Alternative? Ich habe versucht vor 2 Wochen den Liferay Portal mit einem existierenden Tomcat Service (mit mehreren Virtual Domains) und Apache2 auf ein Ubuntu-Linux Server zum Laufen zu bringen aber leider hatte ich kein Erfolg (Auch keine Fehlermeldungen die Seite wird nur weiß angezeigt, tomcat meldet Keine Fehler und Apache auch).

Ideal wäre natürlich eine Konfigurations-Lösung für Tomcat und Apache und Liferay Portal als normale Anwendung aber wenn es mit einem Tomcat-Bundle einfacher geht ist auch kein Problem.

Ich würde mich auf Euere Antworten freuen !

Viele Grüße

Amjed
thumbnail
Olaf Kock, geändert vor 8 Jahren.

RE: Mehrere Liferay Installationen bzw. Instanzen auf einem Server

Liferay Legend Beiträge: 6403 Beitrittsdatum: 23.09.08 Neueste Beiträge
"komplett andere Domainnamen" ist kein Problem, "komplett andere Datenbanken" könnte eines werden - je nachdem, was damit gemeint ist. Aber erst mal die Grundlagen:

Die Erstellung mehrerer Sites ist kein Problem - diese können auch auf jeweils einer eigenen Domain antworten.

Mittels "instances" ist es auch möglich, komplett voneinander getrennte Portalinstallationen zu simulieren: Diese teilen sich lediglich den Application Server und die Plugins (auch hier ist es möglich, einzugreifen und z.B. einzelne Plugins nur bestimmten "instances" zur Verfügung zu stellen.

"Sharding" sieht so aus, als würde es pro "instance" eine neue Datenbank anbindbar machen. Allerdings teilen alle instances die gleiche Basisdatenbank und es ist nicht ohne weiteres möglich, am Ende alle zu trennen. Meiner Meinung nach verkompliziert Sharding ein Setup nur, ohne genügend Funktionalität selber dazu beizusteuern. Oder anders formuliert: Das Problem, das es löst ist nicht das, für das es meistens eingesetzt wird.

Für die Einrichtung einer neuen "instance" (ich mag die Übersetzung mit "Instanz" nicht, daher die englische Verwendung in Anführungszeichen) ist es immer nötig, eine Domain anzugeben. Diese wird für die Auflösung der korrekten "instance" verwendet. Ich habe hier mal was darüber geschrieben.
Amjed Ben Salah, geändert vor 8 Jahren.

RE: Mehrere Liferay Installationen bzw. Instanzen auf einem Server

New Member Beiträge: 2 Beitrittsdatum: 27.12.15 Neueste Beiträge
Hallo Olaf,

vielen Dank für deine Antwort. Eigentlich mein Wunsch wäre mehrere Webanwendungen für verschiedenen Kunden auf Basis von Liferay zu entwickeln und sie sollen auf dem gleichen Server leben. Die Anwendungen sollen so gut wie möglich voneinander getrennt werden (Zumindest getrennte Datenbanken und Filesystem, Wenn Kunde1 Oracle Datenbank Management System benutzt und FTP Zugriff auf www/domains/kunde1.com hat, Kunde2 Datenbank Management Systeme MySQL benutzt und FTP Zugriff www/domains/kunde2.com soll das kein Problem sein). Kann Liferay so eine Architektur ermöglichen oder muss man auf untere Ebene das einrichten? Ich konnte eine neue "Instance" mit Liferay erstellen aber ich wusste nicht wie man sie mit einer anderen Datenbank und einen anderen Filesystem konfiguriert !

Ich will eine Architektur schaffen, die mir mehr Flexibilität für die Zukunft anbietet; wenn ich die Datenkbank mit einem Kunden-Intranet binden will (wo zum Beispiel alle Kundenprodukte gepflegt werden) oder durch weiteren Anwendungen erweitern möchte (eine Online Shop etc.) soll das ohne großen Aufwand bzw. Umbau machbar sein.

Es spielen auch andere Faktoren eine Rolle, wenn sich ein Kunde für eine bestimmten Version von Liferay entscheidet oder will bestimmte Plugins oder Template kaufen, sollen die anderen Kunden auch kein Zugriff drauf haben.

Viele Grüße

Amjed
thumbnail
Olaf Kock, geändert vor 8 Jahren.

RE: Mehrere Liferay Installationen bzw. Instanzen auf einem Server

Liferay Legend Beiträge: 6403 Beitrittsdatum: 23.09.08 Neueste Beiträge
Für eine solche Trennung - insbesondere da auch alles in der gleichen JVM laufen würde - würde ich tatsächlich einzelne JVMs laufen lassen. Unterschiedliche Plugins, Datenbanken und ggf. Versionen vertragen sich nicht gut. Und Datenbanksharding löst genau dieses Problem nicht: Wenn Kunde A auf einer älteren Version arbeitet als Kunde B, müssen die Daten von Kunde B auf einen neueren Server. Da alle Instances von einer zentralen Wartungsinstance abhängen, wird das unübersichtlich und nicht gut.

Außerdem kenne ich die einsetzenden Wartungsfenster und Backups nur als Konfliktherde: Kunde C verursacht einen Serverneustart, dafür müssen Kunden A und B mitleiden. Die Verfügbarkeit sinkt rapide, aufgrund von Kriterien die die jeweiligen Kunden nicht im entferntesten interessieren.

Speicher ist billig. Ein gut ausgestatteter Server kann auch mehrere JVMs laufen lassen. Wenn sie einmal laufen ist der Overhead (für die CPU) nicht so groß. Und der Wartungsaufwand ist erheblich geringer - und das ist (in meinen Augen) das erste, das man in diesem Fall optimieren möchte.