Tomcat Datensynchronisation

X3TitanCore

Bekanntes Mitglied
Hallo!

Ich habe gerade folgendes Problem.

Die Anwendung läuft mit einem Load Balancer. Wie synchroniseren ich meine Daten wenn ich mehrere Tomcat Instanzen auf dem Server laufen habe. Sprich User 1 auf Tomcat 1 speichert etwas, dann müssen irgendwie die Daten bei den anderen Tomcats neu geladen werden, damit die User auf den anderen Tomcats diese sehen können. Alle Daten liegen im Arbeitsspeicher und werden nicht bei jedem Request aus der Datenbank geholt.

Welche Varianten sind da möglich?

Gruss
 
N

nillehammer

Gast
In einem Cluster synchronisieren die verschiedenen Tomcatinstanzen ihre Daten automatisch. Sofern Deine Daten im Application- oder Sessionscope landen, sollte das keine Probleme machen. Oder hast Du ein konkretes Problem? Dann beschreibe es und wir suchen eine Lösung.
 
Zuletzt bearbeitet von einem Moderator:

X3TitanCore

Bekanntes Mitglied
Ich habe momentan 5 Tomcat Instanzen in einem Load Balancer ohne Clustering laufen. Bei einem Test war der eine User auf Tomcat 1 der andere auf Tomcat 3. Der User auf Tomcat 3 hat etwas gespeichert, was aber der User auf Tomcat 1 nicht sehen konnte. Ich nehme mal an das die Daten von beiden Tomcat nicht die gleichen sind. Die Daten werden in eine Datenbank gespeichert.

Das Problem ist wie kriege ich alle anderen Tomcats dazu sich die neuen Daten zu holen?
Oder gibt es eine Möglichkeit das alle auf die gleichen Daten im Arbeitsspeicher zugreifen?
 
N

nillehammer

Gast
Ok, Du musst Deine 5 Instanzen zu einem Cluster zusammenfügen. Damit habe ich selbst leider wenig Erfahrung. Darum kann ich nicht viel mehr tun als Dich auf die Doku zu verweisen: Apache Tomcat 6.0 - Clustering/Session Replication HOW-TO

Edit1: Warte mal
Alle Daten liegen im Arbeitsspeicher und werden nicht bei jedem Request aus der Datenbank geholt.
Und
Die Daten werden in eine Datenbank gespeichert.
Welche Daten willste überhaupt synchronisieren? Die im Arbeitsspeicher oder die aus der Datenbank? Datenbank ist leicht, das sind sie ja zentral. D.h. da muss man sie einfach nur immer neu draus laden. Arbeitsspeicher siehe Cluster.
 
Zuletzt bearbeitet von einem Moderator:

X3TitanCore

Bekanntes Mitglied
Ich will nur das wenn egal auf welcher Instanz einer speichert alle anderen Tomcats die neuen Daten laden. Evtl. über einen Listener der alle anderen informiert das sich was geändert hat.

Also die Daten aus der Datenbank in die Tomcats synchronisieren.

Da weiss ich z.B. nicht wie der speichernde Tomcat den anderen mitteilen kann das sich was geändert hat, bzw. was die beste vorgehensweise ist.
 
Zuletzt bearbeitet:
N

nillehammer

Gast
Auch, wenn du es für Deinen konkreten Anwendungsfall (noch) nicht brauchst, würde ich die Tomcat-Instanzen zu einem Cluster zusammenfügen. Dann hast du neben Load-Balancing auch Ausfallsicherheit erhöht.

Und zur Vorgehensweise:
Ich würde die Webanwendung so programmieren, dass sie sich die benötigten Daten immer aus der Persistenzschicht holt (das ist noch nicht die Datenbank). Also nicht selbs eine Art Cache programmieren. Die Persistenzschicht sollte dann mit einem Framework wie Hibernate programmiert werden. Diese Frameworks enthalten out of the Box Funktionen für's Caching und einen Mechanismus namens "Optimistic Locking". Der funktioniert so, dass zu jeder gespeicherten Entity noch eine Spalte "version" gespeichert wird, die eine Nummer enthält, die bei jedem Update hochgezählt wird. Wenn Deine Webanwendung nun Daten aus der Persistenzschicht anfordert, wird bei bereits gespeicherten Entities geschaut, ob die Versionsnummer sich erhöht hat. Falls ja, wird frisch aus der Datenbank nachgeladen. Falls nein, eben nicht. Zur Kontrolle der Versionnummer ist zwar auch ein SELECT auf die Datenbank nötig. Aber das ist immer noch effizienter als die kompletten Daten zu laden.

Evtl. über einen Listener der alle anderen informiert das sich was geändert hat.
Dafür müsste die Datenbank von sich aus in der Lage sein, änderungen an ihre Clients zu melden. Ich glaube, dass das bei jdbc nicht geht. Da geht die Abfrage immer vom Client aus.
 
Zuletzt bearbeitet von einem Moderator:

X3TitanCore

Bekanntes Mitglied
Erst mal ein fettes Danke für Deine schnelle Hilfe.

Das hat mir sehr geholfen. Manchmal braucht mal einfach eine Richtung in die man gucken muss. :toll:

Das Clustern habe ich als nächstes auf dem Zettel, wenn ich hiermit fertig bin. :rtfm:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
KonradN Apache Tomcat Schwachstelle (Versionen 8, 9, 10 und 11) Server einrichten und konfigurieren 0
S Tomcat 9 mit Datasource Realm auf eine H2 Datenbank Server einrichten und konfigurieren 3
D Tomcat context.xml wo ablegen im Projekt? Server einrichten und konfigurieren 3
H Apache Tomcat Installation/Konfiguration arbeitet nicht einwandfrei Server einrichten und konfigurieren 5
S Tomcat Server nicht erreichbar Server einrichten und konfigurieren 21
pkm Lassen sich mit Tomcat bestimmte URL-Patterns verbieten? Server einrichten und konfigurieren 0
B Tomcat Manager: umbebannt, zurückbenannt, jetzt nur noch 403-Fehler Server einrichten und konfigurieren 8
E Tomcat Eclipse Problem Server einrichten und konfigurieren 0
T Tomcat 8 unter STS Server einrichten und konfigurieren 0
K Tomcat - Java-Version? Server einrichten und konfigurieren 5
A Tomcat und JNI Library Server einrichten und konfigurieren 0
K Tomcat: Host Manager -> 404 Server einrichten und konfigurieren 1
K Tomcat: maximale Anmeldeversuche einschränken (funktioniert nicht) Server einrichten und konfigurieren 1
F Tomcat startet Anwendung nicht im Windows-Service-Modus Server einrichten und konfigurieren 1
C [Nagios] Tomcat-Logfile überwachen Server einrichten und konfigurieren 1
T Tomcat 7 JSTL Server einrichten und konfigurieren 0
S Tomcat 6.0.20 sessionCookiePath in context.xml wird ignoriert Server einrichten und konfigurieren 1
I Tomcat Host mit JDBC-Resource Server einrichten und konfigurieren 0
K Tomcat als Service, falsche Farbe Server einrichten und konfigurieren 0
M Tomcat Proxy - erkennt Tomcat httpd.conf Server einrichten und konfigurieren 0
HarleyDavidson Tomcat Instanznamen ändern Server einrichten und konfigurieren 1
R Tomcat und Zertifikat-Import Server einrichten und konfigurieren 0
M Tomcat - Deploy war - Verbindungsfehler Server einrichten und konfigurieren 4
FINF_AW_Alex WebLogic, Glassfish, Tomcat.... Server einrichten und konfigurieren 3
D Daten auf Apache Tomcat Server ablegen, möglich ? Server einrichten und konfigurieren 1
C DataSource mit Tomcat einrichten Server einrichten und konfigurieren 1
T tomcat blockiert Server einrichten und konfigurieren 0
R Verbindung zwischen Apache und Tomcat über mod_jk funktioniert nur sporadisch Server einrichten und konfigurieren 0
MadMG Tomcat via Apache Proxy + Websockets Server einrichten und konfigurieren 4
A Tomcat bekommt keine Schreibrechte für webapps Server einrichten und konfigurieren 6
Q Tomcat-Cluster und Arbeitsspeicher Server einrichten und konfigurieren 4
G Tomcat 7 mit Apache 2 verbinden über mod_jk Server einrichten und konfigurieren 3
P Tomcat unter xampp nachinstallieren Server einrichten und konfigurieren 4
R Cacht Tomcat/axis2 Klassen? Server einrichten und konfigurieren 3
MQue Tomcat PermSpace Server einrichten und konfigurieren 9
Mike90 Tomcat 7 INFO: The APR based Apache Tomcat Native ... Server einrichten und konfigurieren 3
T GlassFish anstatt Apache Tomcat Server einrichten und konfigurieren 29
G Tomcat 6.0 von https auf http umstellen Server einrichten und konfigurieren 2
W Tomcat 7 und Eclipse Birt Viewer 3.7.2 - Datenbankprobleme Server einrichten und konfigurieren 2
T Permgen space Tomcat Server einrichten und konfigurieren 7
P Tomcat Context Server einrichten und konfigurieren 3
H Glassfish auf Tomcat ? Server einrichten und konfigurieren 2
E Tomcat/Jasper checkt nicht mehr auf Änderungen Server einrichten und konfigurieren 4
L Tomcat webapps Pfad nach Eclipse workspace verschieben Server einrichten und konfigurieren 6
F Tomcat Session timeout unendlich Server einrichten und konfigurieren 7
M JBoss und Tomcat Server einrichten und konfigurieren 8
schlingel Tomcat für den Produktiveinsatz Server einrichten und konfigurieren 14
E JSF auf Tomcat ? Server einrichten und konfigurieren 5
G Tomcat außerhalb des Servers nicht erreichbar Server einrichten und konfigurieren 6
P Ständige Fehlermeldungen bei Tomcat 5.5 Server einrichten und konfigurieren 11
A Tomcat in Eclipse Server einrichten und konfigurieren 5
T Apache Tomcat - mehere Instanzen - Session Problem Server einrichten und konfigurieren 7
K Apache2/Tomcat URL umschreiben Server einrichten und konfigurieren 6
M Hardwareempfehlung für TOMCAT Server Server einrichten und konfigurieren 8
ruutaiokwu jasper compiler problem in tomcat!!! Server einrichten und konfigurieren 3
J Tomcat 7 Probleme bei vorhandener context.xml Server einrichten und konfigurieren 1
B Webproject + Tomcat + SSL Server einrichten und konfigurieren 15
P Tomcat sehr langsam Server einrichten und konfigurieren 5
D Tomcat log lesen Server einrichten und konfigurieren 2
K Tomcat von remote nicht erreichbar Server einrichten und konfigurieren 14
W Tomcat 5.5 mit Apache2 + mod_jk (Debian Etch) Server einrichten und konfigurieren 2
S bestimmte user agenten sperren mit tomcat Server einrichten und konfigurieren 5
F Tomcat Klassenlader Server einrichten und konfigurieren 3
G Tomcat https Server einrichten und konfigurieren 3
N Weiterleitung Apache mit Tomcat über mod_jk funktioniert nicht... Server einrichten und konfigurieren 7
F Verständnisfrage zu Tomcat, Apache & mod_jk Server einrichten und konfigurieren 8
S Apache 2.2 und Tomcat 6 - Resource not found Server einrichten und konfigurieren 5
V Keystore Type für Tomcat ändern Server einrichten und konfigurieren 2
E Tomcat und Eclipse Server einrichten und konfigurieren 4
N JSF-Facelets auf Tomcat - ich krieg's nicht hin Server einrichten und konfigurieren 10
G Tomcat socket Connection Server einrichten und konfigurieren 3
I JSF Entwicklung mit Eclipse und Tomcat 6 unter Gentoo Server einrichten und konfigurieren 8
D Tomcat V-Host Context Problem Server einrichten und konfigurieren 3
A Mehrere Tomcat Instanzen auf Basis einer Tomcat Installation Server einrichten und konfigurieren 1
M Tomcat oder Applicationserver Server einrichten und konfigurieren 3
M Tomcat oder sonstiger Webserver für mehrere Projekte Server einrichten und konfigurieren 5
K apache, tomcat mysql einrichten Server einrichten und konfigurieren 6
D Tomcat für SSLv2 konfigurieren Server einrichten und konfigurieren 6
H Tomcat Startseite einrichten Server einrichten und konfigurieren 3
B Tomcat Welcome-Page aus Eclipse nicht erreichbar Server einrichten und konfigurieren 4
0din Webspace mit Tomcat etc. Server einrichten und konfigurieren 4
A Standard-Webapp in Tomcat 6 - wie konfigurierbar? Server einrichten und konfigurieren 3
0din Tomcat unter Eclipse einbinden Server einrichten und konfigurieren 7
X3TitanCore Tomcat installieren Server einrichten und konfigurieren 2
R Fehler beim TOMCAT, davor ging es noch! Server einrichten und konfigurieren 1
E tomcat installation Server einrichten und konfigurieren 4
J Tomcat: shutdown.sh script funktioniert plötzlich nicht mehr Server einrichten und konfigurieren 3
D Tomcat auf anderer Maschine als Eclipse Server einrichten und konfigurieren 8
P maven-tomcat-plugin redeploy funktioniert nicht? Server einrichten und konfigurieren 6
P Tomcat 6.x - context path wird nicht richtig gesetzt durch MAven2 Plugin Server einrichten und konfigurieren 16
GFEMajor Von Tomcat auf JBoss EJB mit Sicherheit Server einrichten und konfigurieren 2
F tomcat deutsch starten Server einrichten und konfigurieren 8
A Tomcat und SLL Client Authentication Server einrichten und konfigurieren 2
P Tomcat Probleme beim einrichten Server einrichten und konfigurieren 2
B TOMCAT AXIS : Probleme bei parallele Requests Server einrichten und konfigurieren 6
R Tomcat: The requested resource () is not available Server einrichten und konfigurieren 8
G Tomcat server.xml einrichten Server einrichten und konfigurieren 1
M Tomcat lib-configuration (axis2, hibernate, logging) Server einrichten und konfigurieren 11
S Tomcat 4 als Dienst // Setzen der JAVA_OPTS Server einrichten und konfigurieren 1
G pendant zu globalem tomcat web.xml im ibm websphere-server Server einrichten und konfigurieren 2

Ähnliche Java Themen

Neue Themen


Oben