Dati di basePiattaformaPiano Scale (registro dei tenant)

Backend SaaS multi-tenant

Servi molti clienti da un solo cluster, ognuno confinato nelle proprie chiavi con le ACL, con un registro dei tenant che annota chi appartiene a chi.

tenant per server
256
pattern di chiave per l'isolamento
ACL
record di utenti e quote
Per tenant
Passo 1 di 5
Registra un tenant

Un id, un nome visualizzato e i valori delle quote registrati con il tenant.

Sessione di esempioplaying
# Registra un tenant
hotkv> TENANT.CREATE acme "Acme Corp" MAX_MEMORY 1073741824 MAX_KEYS 1000000
OK

Una dimostrazione animata con comandi HotKV reali e risposte di esempio. Clicca su un passo qualsiasi per andarci. Comandi e risposte restano in inglese, esattamente come li digiti e li vedi in HotKV.

Il problema

Gestire una cache o uno store di dati per ogni cliente è costoso e faticoso da operare, ma condividerne uno significa che ti serve un isolamento forte tra i clienti e un registro di quali utenti appartengono a quale cliente.

Come lo gestisce HotKV

Gli utenti ACL con pattern di chiave confinano l'applicazione di ogni tenant nel proprio prefisso di chiave. Il registro dei tenant annota quali utenti appartengono a quale tenant, insieme ai valori delle quote. Il registro è lo stesso su ogni nodo di un cluster.

Passo dopo passo

Cosa succede, comando per comando

  1. 01

    Registra un tenant

    Un id, un nome visualizzato e i valori delle quote registrati con il tenant.

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

    Confina i suoi utenti

    L'utente ACL può toccare solo le chiavi sotto acme: e non può eseguire comandi pericolosi.

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

    Associa l'utente al tenant

    Il registro annota quali utenti appartengono a quale tenant.

    TENANT.BIND acme acme-app
  4. 04

    L'isolamento in azione

    L'app di acme legge le proprie chiavi. Una lettura della chiave di globex viene rifiutata dall'ACL.

    GET globex:billing:plan
  5. 05

    Leggi il record del tenant

    I valori delle quote registrati per il tenant. In questa release i contatori di utilizzo non vengono alimentati dal traffico dei client, quindi indicano 0.

    TENANT.STATS acme
Dove si usa

Scenari reali

SaaS B2B

I dati di cache e di sessione di ogni cliente vivono sotto il proprio prefisso su un cluster condiviso, isolati tramite ACL.

Agenzie e rivenditori

I progetti dei clienti sono tenant con i propri utenti, così l'accesso si può concedere e revocare per cliente.

Integrato

Cosa ottieni

Isolamento per pattern di chiave

Utenti ACL limitati a un prefisso di chiave e a un insieme di comandi.

ACL SETUSER

Registro dei tenant

Tenant con nomi, stati, valori delle quote e utenti associati, uguali su ogni nodo.

TENANT.CREATETENANT.BIND

Record dei tenant

Nome, stato, valori delle quote e utenti associati di ogni tenant.

TENANT.INFOTENANT.STATS

Blocca un tenant

Disattiva gli utenti ACL del tenant.

ACL SETUSER off

Domande frequenti

I valori delle quote vengono applicati?

No. Vengono registrati e mostrati in TENANT.STATS, ma HotKV non li applica ai comandi, e in questa release i contatori di utilizzo non vengono alimentati dal traffico dei client. L'isolamento viene dalle regole ACL.

Sospendere un tenant lo blocca?

TENANT.SUSPEND registra uno stato per i tuoi strumenti. Per bloccare gli utenti di un tenant, disattivali con ACL SETUSER.

Quali piani lo includono?

Le ACL funzionano su ogni piano. Il registro dei tenant fa parte del piano Scale.

Casi d'uso correlati

Provalo sul tuo carico di lavoro

HotKV parla il protocollo Redis, quindi puoi puntarci un client esistente ed eseguire questi stessi comandi.