it-swarm.com.de

Verwenden von Redis als Cache in einer mandantenfähigen Anwendung

Ich arbeite daran, eine mandantenfähige Anwendung zu erstellen, die auf Redis als Cache basiert. Ich suche derzeit nach einem möglichen Weg, um mit redis eine Mandantenfähigkeit zu erreichen. Ich sehe, dass Redis Enterprise Unterstützung für mehrere Mandanten bietet. Ich möchte jedoch AWS ElasticCache nutzen, das (soweit ich weiß) keine Redis Enterprise-Version bietet. Daher frage ich mich, ob es andere praktikable Alternativen gibt.

Ich denke, die einfachste Lösung wäre, einfach allen Schlüsseln auf der Anwendungsebene eine "Mandanten-ID" voranzustellen, um die Daten von jedem Mandanten getrennt zu halten und alle Daten in einem einzigen Redis-Cluster zu speichern. Die Anwendung schreibt und liest Daten basierend auf dem aktuellen Mandanten und stellt die richtige ID voran.

Gibt es Probleme mit diesem Ansatz oder gibt es andere praktikable Lösungen ohne Redis Enterprise?

3
Brad

Nach weiteren Recherchen bin ich mit einer Antwort zufrieden und werde meinen eigenen Beitrag beantworten.

Ich sehe, dass Microsoft in diesem Artikel die Verwendung eines vorangestellten Mandanten (in diesem Fall Client-ID) empfiehlt: https://docs.Microsoft.com/en-us/Azure/architecture/multitenant-identity/token- Cache

Außerdem sehe ich, dass das von mir verwendete Framework spezifische Optionen und Code zum Voranstellen einer Zeichenfolge zum Trennen von Apps/Diensten enthält. Dies scheint also eine gängige Praxis zu sein. Ich bin mit diesen Informationen zufrieden und werde mich für diese Option entscheiden.

5
Brad