it-swarm.com.de

Wie aktualisiere ich das Server-Caching dynamisch, wenn die Webanwendung in einer Cluster-Umgebung ausgeführt wird?

Stellen Sie sich eine typische Webanwendung vor, die auf einer Anwendung oder einem Webserver im Clustermodus ausgeführt wird. Nehmen wir an, wir haben 3 Knoten im Cluster und die Anwendung wird auf diesen 3 Knoten ausgeführt und bedient alle Benutzeranforderungen. Es gibt einige Eigenschaftswerte, die in der Datenbank gespeichert werden. Anstatt jedes Mal zur Datenbank zu wechseln, wenn diese Anwendung einen Cache auf Serverseite auf Knotenebene verwaltet, diese Eigenschaftswerte im Cache speichert und die Werte aus dem Cache bereitstellt.

Jetzt aktualisieren wir den Eigenschaftswert in der Datenbank. Wie stellen wir sicher, dass dieser aktualisierte Wert auf allen Knoten im Cache angezeigt wird?

1
user10612

2 Möglichkeiten, es zu tun, denke ich. Entweder wird der Cache auf Cluster-Ebene oder Sie müssen die Ungültigmachung eines Eintrags an jeden Server übermitteln.

Ich würde sagen, es gibt einen dritten Weg, bei dem es sich um eine zentralisierte Datenbank handeln könnte, in der jeder ungültige Schlüssel aufbewahrt wird und der Server diese Datenbank überprüft, um sicherzustellen, dass der Schlüssel noch gültig ist (die Implementierung ist jedoch etwas komplexer).

Die Cache-Ebene im Cluster ist sicherlich die einfachste, hängt jedoch davon ab, warum Sie den Cache-Server installiert haben (wenn es sich nur um eine Replikation der Hauptdatenbank handelt, ist diese Lösung ungültig).

1
stunti