KärndataPlattformPlanen Scale (tenantregister)

Multi-tenant SaaS-backend

Betjäna många kunder från ett kluster, var och en begränsad till sina egna nycklar med ACL, med ett tenantregister som registrerar vem som hör till vad.

tenants per server
256
nyckelmönster för isolering
ACL
användare och kvotposter
Per tenant
Steg 1 av 5
Registrera en tenant

Ett id, ett visningsnamn och kvotvärden som registreras med tenanten.

Exempelsessionplaying
# Registrera en tenant
hotkv> TENANT.CREATE acme "Acme Corp" MAX_MEMORY 1073741824 MAX_KEYS 1000000
OK

En animerad genomgång med riktiga HotKV-kommandon och exempelsvar. Klicka på valfritt steg för att hoppa dit. Kommandon och svar förblir på engelska, precis som du skriver och ser dem i HotKV.

Problemet

Att köra en cache eller ett datalager per kund är dyrt och besvärligt att sköta, men att dela ett kräver stark isolering mellan kunderna och ett register över vilka användare som hör till vilken kund.

Så löser HotKV det

ACL-användare med nyckelmönster begränsar varje tenants applikation till sitt eget nyckelprefix. Tenantregistret håller reda på vilka användare som hör till vilken tenant, tillsammans med kvotvärden. Registret är detsamma på varje nod i ett kluster.

Steg för steg

Vad som händer, kommando för kommando

  1. 01

    Registrera en tenant

    Ett id, ett visningsnamn och kvotvärden som registreras med tenanten.

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

    Begränsa dess användare

    ACL-användaren kan bara röra nycklar under acme: och kan inte köra farliga kommandon.

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

    Koppla användaren till tenanten

    Registret håller reda på vilka användare som hör till vilken tenant.

    TENANT.BIND acme acme-app
  4. 04

    Isolering i praktiken

    acmes app läser sina egna nycklar. En läsning av globex nyckel nekas av ACL.

    GET globex:billing:plan
  5. 05

    Läs tenantposten

    De kvotvärden som registrerats för tenanten. I den här releasen fylls användningsräknarna inte i av klienttrafik, så de visar 0.

    TENANT.STATS acme
Där det passar

Verkliga scenarier

B2B SaaS

Varje kunds cache- och sessionsdata ligger under sitt eget prefix i ett gemensamt kluster, isolerad med ACL.

Byråer och återförsäljare

Kundprojekt är tenants med egna användare, så att åtkomst kan beviljas och återkallas per kund.

Inbyggt

Det här får du

Isolering via nyckelmönster

ACL-användare begränsade till ett nyckelprefix och en kommandouppsättning.

ACL SETUSER

Tenantregister

Tenants med namn, tillstånd, kvotvärden och kopplade användare, detsamma på varje nod.

TENANT.CREATETENANT.BIND

Tenantposter

Varje tenants namn, tillstånd, kvotvärden och kopplade användare.

TENANT.INFOTENANT.STATS

Lås ute en tenant

Stäng av tenantens ACL-användare.

ACL SETUSER off

Vanliga frågor

Upprätthålls kvotvärdena?

Nej. De registreras och visas i TENANT.STATS, men HotKV upprätthåller dem inte på kommandon, och användningsräknarna fylls inte i av klienttrafik i den här releasen. Isoleringen kommer från ACL-regler.

Blockerar det en tenant att suspendera den?

TENANT.SUSPEND registrerar ett tillstånd för dina verktyg. För att låsa ute en tenants användare, stäng av dem med ACL SETUSER.

Vilka planer innehåller den?

ACL fungerar i alla planer. Tenantregistret ingår i planen Scale.

Relaterade användningsfall

Prova på din egen arbetslast

HotKV talar Redis-protokollet, så du kan peka en befintlig klient mot det och köra samma kommandon.