KerndatenPlattformScale-Tarif (Mandantenverzeichnis)

Mandantenfähige SaaS-Backends

Bedienen Sie viele Kunden aus einem Cluster, jeden per ACL auf seine eigenen Keys beschränkt, mit einem Mandantenverzeichnis, das festhält, wer wohin gehört.

Mandanten pro Server
256
Key-Muster zur Isolation
ACL
Benutzer und Kontingentdaten
Pro Mandant
Schritt 1 von 5
Einen Mandanten registrieren

Eine ID, ein Anzeigename und Kontingentwerte, die mit dem Mandanten gespeichert werden.

Beispielsitzungplaying
# Einen Mandanten registrieren
hotkv> TENANT.CREATE acme "Acme Corp" MAX_MEMORY 1073741824 MAX_KEYS 1000000
OK

Ein animierter Durchlauf mit echten HotKV-Befehlen und Beispielantworten. Klicken Sie auf einen Schritt, um direkt dorthin zu springen. Befehle und Antworten bleiben auf Englisch, genau so, wie Sie sie in HotKV eingeben und sehen.

Das Problem

Für jeden Kunden einen eigenen Cache oder Datenspeicher zu betreiben, ist teuer und mühsam im Betrieb. Einen gemeinsam zu nutzen bedeutet aber, dass Sie eine starke Isolation zwischen den Kunden brauchen und eine Aufzeichnung darüber, welche Benutzer zu welchem Kunden gehören.

So löst HotKV es

ACL-Benutzer mit Key-Mustern beschränken die Anwendung jedes Mandanten auf ihr eigenes Key-Präfix. Das Mandantenverzeichnis hält fest, welche Benutzer zu welchem Mandanten gehören, zusammen mit Kontingentwerten. Das Verzeichnis ist auf jedem Knoten eines Clusters gleich.

Schritt für Schritt

Was passiert, Befehl für Befehl

  1. 01

    Einen Mandanten registrieren

    Eine ID, ein Anzeigename und Kontingentwerte, die mit dem Mandanten gespeichert werden.

    TENANT.CREATE acme "Acme Corp" MAX_MEMORY 1073741824 MAX_KEYS 1000000
  2. 02

    Seine Benutzer beschränken

    Der ACL-Benutzer kann nur Keys unter acme: anfassen und keine gefährlichen Befehle ausführen.

    ACL SETUSER acme-app on >s3cret ~acme:* +@all -@dangerous
  3. 03

    Den Benutzer an den Mandanten binden

    Das Verzeichnis hält fest, welche Benutzer zu welchem Mandanten gehören.

    TENANT.BIND acme acme-app
  4. 04

    Isolation in Aktion

    Die App von acme liest ihre eigenen Keys. Ein Lesezugriff auf den Key von globex wird von der ACL abgewiesen.

    GET globex:billing:plan
  5. 05

    Den Mandanteneintrag lesen

    Die für den Mandanten gespeicherten Kontingentwerte. In diesem Release werden die Verbrauchszähler nicht durch Client-Traffic befüllt und zeigen daher 0.

    TENANT.STATS acme
Wo es passt

Szenarien aus der Praxis

B2B-SaaS

Cache- und Session-Daten jedes Kunden liegen unter einem eigenen Präfix auf einem gemeinsamen Cluster, per ACL isoliert.

Agenturen und Reseller

Kundenprojekte sind Mandanten mit eigenen Benutzern, sodass Zugriff pro Kunde erteilt und entzogen werden kann.

Integriert

Was Sie bekommen

Isolation per Key-Muster

ACL-Benutzer, beschränkt auf ein Key-Präfix und einen Befehlssatz.

ACL SETUSER

Mandantenverzeichnis

Mandanten mit Namen, Status, Kontingentwerten und gebundenen Benutzern, auf jedem Knoten gleich.

TENANT.CREATETENANT.BIND

Mandanteneinträge

Name, Status, Kontingentwerte und gebundene Benutzer jedes Mandanten.

TENANT.INFOTENANT.STATS

Einen Mandanten aussperren

Deaktivieren Sie die ACL-Benutzer des Mandanten.

ACL SETUSER off

Häufige Fragen

Werden die Kontingentwerte durchgesetzt?

Nein. Sie werden gespeichert und in TENANT.STATS angezeigt, aber HotKV setzt sie bei Befehlen nicht durch, und die Verbrauchszähler werden in diesem Release nicht durch Client-Traffic befüllt. Die Isolation kommt aus den ACL-Regeln.

Blockiert das Suspendieren einen Mandanten?

TENANT.SUSPEND speichert einen Status für Ihre Tools. Um die Benutzer eines Mandanten auszusperren, deaktivieren Sie sie mit ACL SETUSER.

Welche Tarife enthalten es?

ACLs funktionieren in jedem Tarif. Das Mandantenverzeichnis ist Teil des Scale-Tarifs.

Verwandte Anwendungsfälle

Probieren Sie es mit Ihrer eigenen Workload

HotKV spricht das Redis-Protokoll, sodass Sie einen bestehenden Client darauf richten und genau diese Befehle ausführen können.