2017-08-25 3 views
1

Derzeit Einrichten eines Keycloak-Clusters im Standalone-ha-Modus, um auf Docker-Schwarm ausgeführt werden zu können. Beim Keycloak werden die Benutzersitzungen in einem eingebetteten Infinispan-Speicher zwischengespeichert und Infinispan kann als verteilter Cache im gesamten Cluster konfiguriert werden.Keycloak - Infinispan Redis-Cache-Speicher

Ich habe auch den Besitzer auf 2 gesetzt, aber das Problem ist, dass .. während der Scale-Down, gibt es eine Möglichkeit für die Benutzer-Sitzungen verloren gehen, wenn beide Besitzer mit dem Cache getötet werden während der Skalierung -Nieder.

Ich habe auch über Infinispan Redis Cache-Speicher gelesen, aber ich bin mir nicht sicher, wie dies zu konfigurieren ist.

Frage 1: Ist es möglich, Keycloak Infinispan Benutzer einen Redis Store zu konfigurieren?

Frage 2: Wenn das nicht möglich ist, gibt es eine Möglichkeit, dieses Problem zu überwinden?

Alle Vorschläge wären hilfreich.

+0

Können Sie Ihre Richtlinie für die Verkleinerung so konfigurieren, dass nur jeweils ein Server gleichzeitig beendet wird? Infinispan sollte den fehlenden Server erkennen und die auf diesem Server zwischen den verbleibenden Knoten zwischengespeicherten Sitzungen neu ausgleichen. –

Antwort

0

Gibt es einen besonderen Grund für die Verwendung eines Redis-Stores hinter Infinispan?

Eine einfachere Lösung könnte die Konfiguration der Persistenz für eine Datei oder eine gemeinsam genutzte Datenbank sein. Für einen Cache-Anwendungsfall wie diesen kann dateibasierte Persistenz ausreichen. Informationen zum Konfigurieren von Infinispan mit dateibasierter Persistenz finden Sie unter here. Alternativ können Sie in einer gemeinsam genutzten Datenbank speichern, z. Postgresql, aber das erfordert mehr eingerichtet (siehe ref card zum Beispiel).