Infinispan kann im Client-Server Mode mit einem Adapter für das Memcached Text Protokoll konfiguriert werden. Der Adapter ermöglicht es Memcached Clients, mit einem oder mehreren Infinispan Servern zu kommunizieren. Die Infinispan-Server können sowohl standalone (ohne miteinander zu kommunizieren) oder geclustert betrieben werden.
Der Infinispan Server ist dazu wie folgt zu starten:
Ins /bin
Verzeichnis der ausgepackte Infinispan Distribution wechseln und startServer.bat
oder startServer.sh
mit Angabe des Protokolls als Parameter starten.
$ ./bin/startServer.sh -r memcached
Konfiguration
Der obige Aufruf startet den Server auf localhost mit dem Port 11211 im Standalone Mode mit den Default Parametern. Es gibt die Möglichkeit, dem Infinispan Server weitere Konfigurationsparameter zu übergeben, um Teile des Servers zu konfigurieren.
Zu beachten ist, dass das Memcached Protokoll keine Spezifizierung des zu benutzenden Infinispan Cache erlaubt. Aus diesem Grund besteht ein 1-zu-1 Mapping zwischen der Infinispan Memcached Server Instanz und der Infinispan Cache Instanz.
Das Mapping erreicht man, indem man dem Infinispan Memcached Server eine Infinispan Konfigurationsdatei übergibt, die einen Named Cache namens memcachedCache
enthält oder den Default Cache anpasst. Der Aufruf sieht dann wie folgt aus:
$ ./bin/startServer.sh -r memcached -c etc/de/oio/cache-config.xml
Vorsicht bei Flush All über den Memcached Adapter
Ein Flush All führt nur zum Leeren der Caches Instanz auf dem Server, auf welchem der Befehl ausgeführt wurde. Dies gilt sowohl in einer Standalone- als auch in einer Clusterumgebung des Infinispan-Servers. In einer Clusterumgebung wird also nicht versucht, die anderen Knoten im Cluster ebenfalls zu flushen. Diese Implementierungsentscheidung wurde bewußt gewählt, um eine Anfragenüberlastung der Datenbank bzw. des gecachten 3rd Party Systems zu vermeiden wenn alle Server leer sind. Der FlushAll use case soll durch dieses Design mit einer Verzögerung auf den Knoten eines Clusters aufgerufen werden können.
Nicht unterstützte Features
Folgende memcached Features werden von der Infinispan basierten Implementierung nicht unterstützt:
- Individuelle Statistiken
Die originale memcached Implementierung basiert auf C/C++, während Infinispan auf Java/Scala basiert. Aus diesem Grund sind manche Statistiken nicht unterstützt.
Nicht unterstützte Statistiken:- pid
- pointer_size
- rusage_user
- rusage_system
- bytes
- curr_connections
- total_connections
- connection_structures
- auth_cmds
- auth_errors
- limit_maxbytes
- threads
- conn_yields
- reclaimed
- Statistikeinstellungen
- Einstellungen mit Argumenten Parameter
Infinispan Memchached Server unterstützt keine Übergabeparameter zu dem stats Command - Löschen von Hold Time Parameter
- Verbosity command
The post Infinispan als Memcached Server konfigurieren und nutzen appeared first on techscouting through the java news.