Ich möchte die Spring-Cache-Abstraktion in meiner verteilten Webanwendung verwenden.
Meine Webanwendung besteht aus einer Webanwendung, die auf drei verschiedenen Tomcats mit Load Balancer ausgeführt wird.
Nun, mein Problem ist, wie genau kann @Evict in allen Tomcats zwischengespeichert werden, wenn ein anderer Tomcat ein Update vorfindet?
Unterstützt die Feder so etwas?
Danke!
Wenn EHCache von Spring verwendet wird, unterstützt EHCache die Replikation über mehrere Instanzen hinweg Server. Ich hatte einige Erfolge mit dem RMI Replicated Caching mit Multicast-Erkennung. Die Überprüfung von einem Cache wird automatisch über die anderen Caches repliziert - und ebenso beim Hinzufügen zu einem Cache.
In Bezug auf die Spring-Konfiguration müssen Sie die verschiedenen Konfigurationselemente und Beans einrichten:
%Vor% Der Rest der Konfiguration wird in der Datei ehcache.xml
durchgeführt. Ein replizierter Beispielcache von ehcache.xml
könnte etwa so aussehen:
Und dann müssen Sie die Replikationseinstellungen zu ehcache.xml
hinzufügen, die wie folgt aussehen könnten:
Es gibt andere Möglichkeiten, die Replikation in EHCache zu konfigurieren, wie in der Dokumentation beschrieben, aber die oben beschriebene RMI-Methode ist relativ einfach und hat für mich gut funktioniert.