النواة متعددة المستأجرين
النواة متعددة المستأجرين هي الطبقة الأساسية لمنصة/منتج يخدم العديد من العملاء المستقلين (المستأجرين) على الموارد المشتركة مع العزلة المضمونة والحدود المدارة والتخصيص الآمن. يقلل النواة المصممة جيدًا من TCO، ويسرع الصعود، ويبسط الإصدارات ويوفر جودة يمكن التنبؤ بها لكل مستأجر.
1) نموذج المستأجر وحدود العزل
التعاريف
المستأجر/Org/Account - منظمة منطقية لها مستخدموها وبياناتها وسياساتها وحدودها.
العزلة: القدرة على منع أحد المستأجرين من التأثير على بيانات وأداء وأمن آخر.
مستويات العزل
1. البيانات: قواعد البيانات/المخططات/الجداول الفردية، التشفير مع «مفتاح المستأجر»، المرشحات 'المستأجر _ معرف'.
2. الحسابات: حصص وحدة المعالجة المركزية/ذاكرة الوصول العشوائي/IO أو تجمع العمال المستأجرين أو قوائم الانتظار المرجحة.
3. الشبكة: التجزئة، نقاط النهاية الخاصة/شبكة البرامج الافتراضية، قوائم التصاريح حسب المستأجر.
4. العمليات: الهجرات والنسخ الاحتياطية و DR والحوادث ذات حدود التأثير «لكل مستأجر».
أنماط الإيجار المتعدد
Silo (عزل صعب): مجموعات/قواعد بيانات فردية لكل مستأجر. الحد الأقصى من الأمان والسعر المرتفع.
المجموعة: البنية التحتية المشتركة مع العزلة المنطقية ؛ كفاءة أفضل، مخاطر أعلى من «الجار الصاخب».
الجسر/الهجين: هجين - مستوى تحكم مشترك + انتقائي «صومعة» لكبار الشخصيات/العملاء المنظمين.
2) تحديد طلبات المستأجرين وتوجيهها
قرار المستأجر
حسب المجال: 'https ://{ مستأجر} .example. "
على طول الطريق: «/t/{ مستأجر }/»..
حسب العنوان: «X-Tenant-Id» و «X-Org» (التحقق من التوقيع)
على سبيل المثال: مستأجر الطوابع، 'org _ id'، 'plan'، 'scopes'
التوجيه
تستخرج بوابة L7 (بوابة API/Ingress) "المستأجر _ id'، وتثري السياق (" الخطة "، والحدود، والمنطقة)، وتكتب إلى المسارات/السجلات.
تقبل خدمات الوظائف سياق القراءة فقط ؛ يتم اتخاذ القرارات بشأن المسار والحدود بواسطة البوابة/محرك السياسة.
3) البيانات والمخططات: الاستراتيجيات
خيارات التخزين
المخطط المشترك، مستوى الصف: مجموعة واحدة من الجداول، حقل «المستأجر _ المعرف»، RLS الصارم (أمن مستوى الصف).
DB المشترك، لكل مخطط: واحد DBMS، مخطط منفصل لكل مستأجر ؛ التوازن بين التحكم والعزل.
لكل مصرف تنمية/مجموعة: قاعدة بيانات/مجموعة منفصلة لكل مستأجر ؛ أكثر تكلفة وأسهل للمطالبات السيادية.
الممارسات الرئيسية
في كل مكان، قم بتمرير «المستأجر _ المعرف» بشكل صريح وإدراجه في المفاتيح/الفهارس المركبة.
سياسات الوصول على مستوى RLS/DBMS + التحقق من خدمة القفل المزدوج.
التشفير: التسلسل الهرمي للمفتاح (root KMS → key-envelope لكل مستأجر → DEK لكل كائن).
تدار المحفوظات/الاحتفاظ و «الحق في النسيان» من خلال سياسات على مستوى المستأجر.
4) الإعدادات والميزات والإصدارات
إعدادات المستأجر
الجدول/التخزين «مستأجر _ كونفيج» (خطة، حصص، أعلام، توطين، جيش تحرير السودان).
أولويات التكوينات: خطة → الافتراضية → المستأجر → البيئة → المستخدم.
تكوين مع TTL قصير والإعاقة حسب الحدث.
تتميز بالأعلام والتوافق
نقطة وظائف التمكين (لكل مستأجر/لكل مجموعة)، لفة الكناري.
إصدار واجهة برمجة التطبيقات: محولات عقد مستقرة + على الحدود (تنسيقات متوافقة خلفية/أمامية).
5) الحدود والحصص والفواتير
سياسات الاستهلاك
تحديد الأسعار: «طلبات/ثانية» لكل مستأجر/مسار، «دلو رمزي» مع أولويات الخطة.
الحصص: سعة التخزين، عدد الأشياء، الرسائل/الدقائق، الوظائف/الساعة.
الإنصاف: «الجدول الزمني المرجح» لقوائم الانتظار + عزل العمال لكبار الشخصيات.
الفواتير
العدادات بواسطة «المستأجر _ id» (مقاييس الاستخدام) → مجمعات الفاتورة →.
لقطات استخدام على الحدود (الخصوصية وحماية فقدان الأحداث).
النماذج: الخطة الثابتة + الاستهلاك، الدفع اللاحق/الدفع المسبق، الخصومات «متدرجة».
6) الأمن والوصول
التوثيق/الإذن
OIDC/SAML مع العلامات «المستأجر _ id» و «الأدوار» و «النطاقات».
RBAC/ABAC - أدوار على مستوى المستأجر (المالك/الإدارة/القارئ)، سمات المشروع/القسم
خدمة إلى خدمة مع mTLS والرموز المقيدة.
حدود الثقة
طلب سياسات القبول: التحقق من توقيع العنوان، عدم التأخر/الطابع الزمني، إلزام المصدر.
الأسرار والمفاتيح: التناوب لكل مستأجر، وسياقات نظام إدارة كوسوفو الفردية، وتدقيق العمليات الرئيسية.
الإقامة في مناطق متعددة والبيانات: تثبيت المستأجر في منطقة ما، والتحكم في التدفقات عبر الإقليمية.
7) قابلية الملاحظة «من قبل المستأجرين»
الأثر والمقاييس
البطاقات المطلوبة هي «مستأجر _ معرف»، «خطة»، «منطقة»، «نقطة النهاية»، «حالة».
SLI/SLO لكل مستأجر: «التوافر»، «زمن الوصول p95»، «ميزانية الخطأ».
لوحات القيادة والتنبيهات حسب القطاع (VIP/regulated/new).
السجلات والمراجعات
سجلات الأنشطة (من/ماذا/متى/أين) مع تخزين غير قابل للتغيير والاحتفاظ به وفقًا لسياسة المستأجر.
التجميع المسبق للأحداث للتخزين الرخيص، واستعادة التفاصيل «بالنقر».
8) الأداء و «الجار الصاخب»
تدابير مكافحة الضوضاء
قيود على مستوى قوائم الانتظار/العمال، وأسهم وحدة المعالجة المركزية ونسبة IO لكل مستأجر.
فصل المخبأ: مستأجر البادئات الرئيسية: {معرف}:... "، TTL من خلال الخطط، الحماية من" تدافع المخبأ ".
الفهارس وخطط الاستعلام على أساس انتقائية «المستأجر».
بدايات باردة وبرك «دافئة»
الإحماء المسبق لكبار الشخصيات/نوافذ الذروة.
برك مرنة من العمال على أساس الإشارات المترية (الضغط الخلفي/الترتيب الذاتي).
9) التحسينات والهجرات دون توقف
الاستراتيجية
الهجرات المتوافقة مع الخلف (التوسع → الهجرة → العقد).
الهجرات «من قبل المستأجرين»: دفعات مع التحكم في التقدم، «التوقف المؤقت/التراجع» لـ «مستأجر _ هوية» محددة.
هجرات أخذ العينات و «الكناري» على مجموعة فرعية من المستأجرين.
DR والحوادث
خطة DR مع RTO/RPO لكل مستأجر ؛ «وضع القراءة فقط» الجزئي دون توقف عالمي.
عزل الحادث: الدمج بواسطة 'المستأجر _ id'، وإطفاء المستأجر «الساخن» لا يؤثر على الباقي.
10) واجهات برمجة التطبيقات والبروتوكولات
REST/gRPC مع سياق المستأجر الإلزامي (في الطوابع/الرؤوس).
الأحداث (مدفوعة بالحدث): موضوعات مع تسمية «المستأجر». {id} .event '، مرشحات و ACLs للاشتراكات.
نقاط الدخول العالمية: تتحقق بوابة L7 من السياق، وتطبق الحدود، وتشفر مؤشر الاستثمار الدولي وفقًا لسياسة المستأجر.
11) دورة حياة المستأجر
1. التزويد: إنشاء سجل للمستأجر، وتوليد المفاتيح/التكوينات، وربط المنطقة.
2. التنشيط: إطلاق سراح عميل OIDC/SAML، وإنشاء الأدوار/السياسات، والحصص الأولية.
3. العملية: الرصد وإعداد الفواتير وتحديثات العلم/الخطة.
4. التعليق/الاختناق: التجميد مع الاحتفاظ بالبيانات/التصدير.
5. الحذف/التصدير: الاحتفاظ، النسخ الاحتياطية المتوقفة، تمزيق التشفير.
12) بنية مرجعية مصغرة (مخطط شفهي)
Edge (بوابة API): TLS/mTLS، استخراج «مستأجر _ معرف»، حدود، تدقيق.
طائرة التحكم: كتالوج المستأجرين والتكوينات والأعلام والفواتير والسياسة.
مستوى البيانات (الخدمات): خدمات عديمي الجنسية، طوابير الانتظار، عمال الحصص ؛ Redis/kv مسبقة من قبل المستأجر.
التخزين: RLS-DB/مخططات فردية/DB ؛ KMS مع مفاتيح لكل مستأجر ؛ تخزين الأشياء مع تشفير الظرف.
قابلية الملاحظة: تتبع/مقاييس/سجلات مع علامة «مستأجر _ معرف»، تنبيهات لكل خطة.
الإدارة: عمليات معزولة (هجرات/نسخ احتياطية) على مجموعة فرعية من المستأجرين.
13) قائمة مرجعية قبل البيع
- طريقة واحدة لتحديد المستأجر _ id على الحدود وفي الخدمات.
- يتم اختبار سياسات RLS/ACL من خلال الاختبارات و «النصوص السلبية».
- يتم التحقق من صحة الحصص/الحدود/الفواتير على الأحمال الحقيقية ؛ هناك حماية من «انخفاض الفواتير».
- إمكانية الملاحظة و SLO لكل مستأجر ؛ تنبيهات لكبار الشخصيات/منظمة.
- الهجرات متوافقة، وهناك تراجع جزئي ودفعات إعارة.
- سيناريوهات DR مع RTO/RPO لكل مستأجر وتمارين منتظمة.
- تشفير مفتاح المستأجر، تناوب المفتاح، وتدقيق المفتاح.
- توثيق عقود/أحداث API وسياسات النسخ.
14) أخطاء نموذجية
الهجرات العالمية «بضربة واحدة» دون القدرة على التوقف على مستأجر مشكلة.
الاعتماد الخفي على "المستأجر _ id' في مخبأ/قوائم الانتظار → تسرب البيانات/عبور قائمة الانتظار.
خلط السياق (العمليات الإدارية عن طريق الخطأ بدون 'مستأجر _ هوية').
عدم وجود «قفل مزدوج»: فحص الخدمة فقط بدون RLS في قاعدة البيانات.
محدد واحد للمجموعة بأكملها → «جار صاخب» وانتهاك SLO.
الفواتير غير الشفافة بدون الخدعة ومراجعة الحسابات.
15) اختيار الإستراتيجية السريع
العزلة/التنظيم الصارم: Silo (قواعد بيانات/مجموعات منفصلة)، قفل المنطقة.
الكفاءة المتوازنة: المشاركة - DB لكل مخطط + RLS، المفاتيح لكل مستأجر.
حركة المرور العالية في الوقت الفعلي: قوائم انتظار مشتركة مع حصص «مرجحة» وعمال مخصصين لكبار الشخصيات.
العديد من التخصيصات: تتميز بأعلام + محولات واجهة برمجة التطبيقات، وتخزين التكوينات حسب الأولوية.
استنتاج
النواة متعددة المستأجرين هي نظام الحدود الهندسية: تعريف صريح لـ «المستأجر _ id»، العزلة الصارمة على جميع الطبقات، الحصص المدارة والفوترة الشفافة، بالإضافة إلى قابلية الملاحظة وتوافق الإصدار. يتيح لك اتباع الأنماط الموصوفة توسيع نطاق المنتج دون التضحية بالسلامة والجودة وسرعة التغيير لكل مستأجر.