Données de basePlateformeOffre Scale (registre des locataires)

Backends SaaS multi-locataires

Servez de nombreux clients depuis un seul cluster, chacun cantonné à ses propres clés par des ACL, avec un registre des locataires qui consigne qui appartient à quoi.

locataires par serveur
256
motifs de clés pour l'isolation
ACL
utilisateurs et quotas
Par locataire
Étape 1 sur 5
Enregistrer un locataire

Un identifiant, un nom d'affichage et des valeurs de quota enregistrés avec le locataire.

Session d’exempleplaying
# Enregistrer un locataire
hotkv> TENANT.CREATE acme "Acme Corp" MAX_MEMORY 1073741824 MAX_KEYS 1000000
OK

Une démonstration animée avec de vraies commandes HotKV et des exemples de réponses. Cliquez sur une étape pour y accéder directement. Les commandes et les réponses restent en anglais, exactement comme vous les saisissez et les voyez dans HotKV.

Le problème

Exploiter un cache ou un stockage de données par client coûte cher et se gère mal, mais en partager un seul exige une isolation forte entre les clients et une trace des utilisateurs qui appartiennent à chaque client.

Comment HotKV s'en charge

Les utilisateurs ACL avec motifs de clés cantonnent l'application de chaque locataire à son propre préfixe de clés. Le registre des locataires consigne quels utilisateurs appartiennent à quel locataire, ainsi que des valeurs de quota. Le registre est identique sur chaque nœud d'un cluster.

Étape par étape

Ce qui se passe, commande par commande

  1. 01

    Enregistrer un locataire

    Un identifiant, un nom d'affichage et des valeurs de quota enregistrés avec le locataire.

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

    Cantonner ses utilisateurs

    L'utilisateur ACL ne peut toucher qu'aux clés sous acme: et ne peut pas exécuter de commandes dangereuses.

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

    Lier l'utilisateur au locataire

    Le registre consigne quels utilisateurs appartiennent à quel locataire.

    TENANT.BIND acme acme-app
  4. 04

    L'isolation en action

    L'app d'acme lit ses propres clés. Une lecture de la clé de globex est refusée par l'ACL.

    GET globex:billing:plan
  5. 05

    Lire la fiche du locataire

    Les valeurs de quota enregistrées pour le locataire. Dans cette version, les compteurs d'usage ne sont pas alimentés par le trafic client et indiquent donc 0.

    TENANT.STATS acme
Où cela s'applique

Scénarios concrets

SaaS B2B

Le cache et les données de session de chaque client vivent sous leur propre préfixe sur un cluster partagé, isolés par ACL.

Agences et revendeurs

Les projets clients sont des locataires avec leurs propres utilisateurs, et l'accès peut être accordé et révoqué client par client.

Intégré

Ce que vous obtenez

Isolation par motif de clés

Des utilisateurs ACL limités à un préfixe de clés et à un ensemble de commandes.

ACL SETUSER

Registre des locataires

Des locataires avec noms, états, valeurs de quota et utilisateurs liés, identiques sur chaque nœud.

TENANT.CREATETENANT.BIND

Fiches des locataires

Le nom, l'état, les valeurs de quota et les utilisateurs liés de chaque locataire.

TENANT.INFOTENANT.STATS

Bloquer un locataire

Désactivez les utilisateurs ACL du locataire.

ACL SETUSER off

Questions fréquentes

Les valeurs de quota sont-elles appliquées ?

Non. Elles sont enregistrées et affichées dans TENANT.STATS, mais HotKV ne les applique pas aux commandes, et les compteurs d'usage ne sont pas alimentés par le trafic client dans cette version. L'isolation vient des règles ACL.

Suspendre un locataire le bloque-t-il ?

TENANT.SUSPEND enregistre un état destiné à vos outils. Pour bloquer les utilisateurs d'un locataire, désactivez-les avec ACL SETUSER.

Quelles offres l'incluent ?

Les ACL fonctionnent avec toutes les offres. Le registre des locataires fait partie de l'offre Scale.

Cas d'usage associés

Essayez-le sur votre propre charge de travail

HotKV parle le protocole Redis. Vous pouvez donc y connecter un client existant et exécuter ces mêmes commandes.