कोर डेटाप्लेटफ़ॉर्मScale प्लान (tenant registry)

Multi-Tenant SaaS बैकएंड

एक ही cluster से कई ग्राहकों को सर्व करें, हर एक ACL से अपनी keys तक सीमित, और एक tenant registry जो दर्ज करती है कि कौन कहाँ का है।

हर server पर tenants
256
आइसोलेशन के लिए key पैटर्न
ACL
यूज़र और quota रिकॉर्ड
Per tenant
कदम 1 में से 5
एक tenant रजिस्टर करें

एक id, एक display name और tenant के साथ दर्ज quota values।

उदाहरण सेशनplaying
# एक tenant रजिस्टर करें
hotkv> TENANT.CREATE acme "Acme Corp" MAX_MEMORY 1073741824 MAX_KEYS 1000000
OK

असली HotKV कमांड और उदाहरण रिस्पॉन्स के साथ एक एनिमेटेड वॉकथ्रू। किसी भी कदम पर क्लिक करके वहां पहुंचें। कमांड और रिस्पॉन्स अंग्रेज़ी में ही रहते हैं, ठीक वैसे जैसे आप HotKV में टाइप करते और देखते हैं।

समस्या

हर ग्राहक के लिए अलग cache या डेटा स्टोर चलाना महँगा है और सँभालना कठिन, लेकिन एक साझा स्टोर चलाने पर ग्राहकों के बीच मज़बूत आइसोलेशन चाहिए, और यह रिकॉर्ड भी कि कौन सा यूज़र किस ग्राहक का है।

HotKV इसे कैसे संभालता है

Key पैटर्न वाले ACL यूज़र हर tenant के एप्लिकेशन को उसके अपने key prefix तक सीमित रखते हैं। Tenant registry quota values के साथ दर्ज करती है कि कौन से यूज़र किस tenant के हैं। Registry cluster के हर node पर एक जैसी रहती है।

कदम दर कदम

क्या होता है, कमांड दर कमांड

  1. 01

    एक tenant रजिस्टर करें

    एक id, एक display name और tenant के साथ दर्ज quota values।

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

    उसके यूज़र को सीमित करें

    ACL यूज़र सिर्फ़ acme: के नीचे की keys छू सकता है और खतरनाक कमांड नहीं चला सकता।

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

    यूज़र को tenant से जोड़ें

    Registry दर्ज करती है कि कौन से यूज़र किस tenant के हैं।

    TENANT.BIND acme acme-app
  4. 04

    आइसोलेशन काम करते हुए

    acme का ऐप अपनी keys पढ़ता है। globex की key पढ़ने की कोशिश ACL ठुकरा देता है।

    GET globex:billing:plan
  5. 05

    Tenant रिकॉर्ड पढ़ें

    tenant के लिए दर्ज quota values। इस रिलीज़ में usage काउंटर क्लाइंट ट्रैफ़िक से नहीं भरे जाते, इसलिए वे 0 दिखते हैं।

    TENANT.STATS acme
कहां फ़िट बैठता है

असली परिदृश्य

B2B SaaS

हर ग्राहक का cache और सेशन डेटा साझा cluster पर उसके अपने prefix के नीचे रहता है, ACL से आइसोलेट।

एजेंसियाँ और रीसेलर

क्लाइंट प्रोजेक्ट अपने यूज़र वाले tenants होते हैं, इसलिए एक्सेस हर क्लाइंट के हिसाब से दी और वापस ली जा सकती है।

अंतर्निहित

आपको क्या मिलता है

Key-pattern आइसोलेशन

ACL यूज़र एक key prefix और कमांड के एक सेट तक सीमित।

ACL SETUSER

Tenant registry

नाम, स्थिति, quota values और जुड़े यूज़र वाले tenants, हर node पर एक जैसे।

TENANT.CREATETENANT.BIND

Tenant रिकॉर्ड

हर tenant का नाम, स्थिति, quota values और जुड़े यूज़र।

TENANT.INFOTENANT.STATS

Tenant को लॉक आउट करें

tenant के ACL यूज़र बंद कर दें।

ACL SETUSER off

आम सवाल

क्या quota values लागू होती हैं?

नहीं। वे दर्ज होती हैं और TENANT.STATS में दिखती हैं, लेकिन HotKV उन्हें कमांड पर लागू नहीं करता, और इस रिलीज़ में usage काउंटर क्लाइंट ट्रैफ़िक से नहीं भरे जाते। आइसोलेशन ACL नियमों से आता है।

क्या tenant को suspend करने से वह ब्लॉक हो जाता है?

TENANT.SUSPEND आपके tooling के लिए एक स्थिति दर्ज करता है। tenant के यूज़र को लॉक आउट करने के लिए उन्हें ACL SETUSER से बंद करें।

यह किन प्लान में शामिल है?

ACL हर प्लान पर काम करते हैं। Tenant registry Scale प्लान का हिस्सा है।

संबंधित उपयोग के मामले

इसे अपने वर्कलोड पर आज़माएं

HotKV Redis प्रोटोकॉल बोलता है, इसलिए आप किसी मौजूदा क्लाइंट को इसकी ओर इंगित करके यही कमांड चला सकते हैं।