Date de bazăPlatformăPlanul Scale (registrul de tenanți)

Backenduri SaaS multi-tenant

Serviți mulți clienți dintr-un singur cluster, fiecare limitat la propriile chei prin ACL, cu un registru de tenanți care consemnează cine aparține unde.

tenanți pe server
256
tipare de chei pentru izolare
ACL
înregistrări de utilizatori și cote
Pe tenant
Pasul 1 din 5
Înregistrați un tenant

Un id, un nume afișat și valori de cotă consemnate împreună cu tenantul.

Sesiune de exempluplaying
# Înregistrați un tenant
hotkv> TENANT.CREATE acme "Acme Corp" MAX_MEMORY 1073741824 MAX_KEYS 1000000
OK

O demonstrație animată cu comenzi HotKV reale și răspunsuri de exemplu. Faceți clic pe orice pas pentru a sări la el. Comenzile și răspunsurile rămân în engleză, exact așa cum le tastați și le vedeți în HotKV.

Problema

Să rulați câte un cache sau un store de date pe client este scump și anevoios de operat, dar partajarea unuia cere izolare puternică între clienți și o evidență a utilizatorilor care aparțin fiecărui client.

Cum o rezolvă HotKV

Utilizatorii ACL cu tipare de chei limitează aplicația fiecărui tenant la propriul prefix de chei. Registrul de tenanți consemnează ce utilizatori aparțin cărui tenant, împreună cu valorile de cotă. Registrul este același pe fiecare nod al unui cluster.

Pas cu pas

Ce se întâmplă, comandă cu comandă

  1. 01

    Înregistrați un tenant

    Un id, un nume afișat și valori de cotă consemnate împreună cu tenantul.

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

    Limitați-i utilizatorii

    Utilizatorul ACL poate atinge doar cheile de sub acme: și nu poate rula comenzi periculoase.

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

    Legați utilizatorul de tenant

    Registrul consemnează ce utilizatori aparțin cărui tenant.

    TENANT.BIND acme acme-app
  4. 04

    Izolarea în acțiune

    Aplicația acme își citește propriile chei. O citire a cheii globex este refuzată de ACL.

    GET globex:billing:plan
  5. 05

    Citiți înregistrarea tenantului

    Valorile de cotă consemnate pentru tenant. În această versiune, contoarele de utilizare nu sunt completate de traficul clienților, deci arată 0.

    TENANT.STATS acme
Unde se potrivește

Scenarii din lumea reală

SaaS B2B

Datele de cache și de sesiune ale fiecărui client stau sub propriul prefix pe un cluster partajat, izolate prin ACL.

Agenții și revânzători

Proiectele clienților sunt tenanți cu proprii utilizatori, deci accesul poate fi acordat și revocat pe client.

Integrat

Ce primiți

Izolare pe tipare de chei

Utilizatori ACL limitați la un prefix de chei și la un set de comenzi.

ACL SETUSER

Registru de tenanți

Tenanți cu nume, stări, valori de cotă și utilizatori legați, la fel pe fiecare nod.

TENANT.CREATETENANT.BIND

Înregistrări de tenanți

Numele, starea, valorile de cotă și utilizatorii legați ai fiecărui tenant.

TENANT.INFOTENANT.STATS

Blocați accesul unui tenant

Dezactivați utilizatorii ACL ai tenantului.

ACL SETUSER off

Întrebări frecvente

Sunt aplicate valorile de cotă?

Nu. Ele sunt consemnate și afișate în TENANT.STATS, dar HotKV nu le aplică comenzilor, iar contoarele de utilizare nu sunt completate de traficul clienților în această versiune. Izolarea vine din regulile ACL.

Blochează suspendarea unui tenant accesul lui?

TENANT.SUSPEND consemnează o stare pentru uneltele dvs. Pentru a bloca utilizatorii unui tenant, dezactivați-i cu ACL SETUSER.

Ce planuri îl includ?

ACL-urile funcționează în fiecare plan. Registrul de tenanți face parte din planul Scale.

Cazuri de utilizare înrudite

Încercați pe propria sarcină de lucru

HotKV vorbește protocolul Redis, așa că puteți îndrepta spre el un client existent și rula aceleași comenzi.