Vuokralaiset, isäntä ja datasuodatin
ToRun perustuu ABP Frameworkin monivuokralaismalliin. IsMultiTenant-merkityllä rivillä on TenantId-sarake, jonka mukaan sovelluskehys suodattaa automaattisesti; yhden vuokralaisen kontekstissa tehdyt kyselyt eivät koskaan näe toisen vuokralaisen rivejä. Isäntäkonteksti (TenantId == null) näkee erillisen osan: siellä ovat kanoniset luettelot, kuten SubscriptionPlan, AiProvider ja LegalDocument.
Miksi kohtelemme isäntää täysivaltaisena osallistujana
Useimmat SaaS-tuotteet lisäävät isännän "hallintatyökaluina". Me mallinnamme sen sisarvuokralaisena: isännällä on omat koontinäyttönsä, omat tekoälykäytäntönsä ja omat laskutussuhteensa. Näin voimme ajaa omaa tuotantoliikennettämme samoilla rakennuspalikoilla, joita jokainen asiakas käyttää.
Pakettiin sidotut ominaisuudet vuokralaiskohtaisesti
Tilauspaketeissa on FeatureLimit-, Entitlement-, Capability- ja Mode-rivit. Kun vuokralainen aktivoi paketin, sen käytettävissä olevat ominaisuudet ovat paketin ja globaalin luettelon leikkaus. Uuden tilan lisääminen ei vaadi jokaiseen vuokralaiseen koskemista: se saa tilan automaattisesti, jos sen paketti sisältää sen.
BYOK-avaimen lisääminen jokaiseen kutsuun
Jaetussakin infrastruktuurissa BYOK-tunnistetiedot pysyvät rajattuina niiden omistavaan vuokralaiseen. Jokainen tekoälypyyntö hakee tunnistetiedot vuokralaisen kontekstissa samalla datasuodattimella; avainten vuotaminen vuokralaisten välillä ei ole mahdollista tallennuskerroksessa.
Mitä emme tarkoituksella tee
Emme eristä vuokralaisia tietokanta- tai prosessitasolla. Vuokralaiskohtaisen tietokannan skaalaamisen kustannukset tuhoavat monivuokralaisen SaaS-tuotteen yksikkötalouden. Datasuodatin yhdessä vuokralaiskohtaisesti erotellun välimuistin kanssa riittää, kun skeema on suunniteltu sitä varten ensimmäisestä päivästä alkaen.