پلتفرم نکسوس (Nexus)

چندمستأجری و ایزوله‌سازی داده‌ها (Multi-Tenancy)

معماری ایزوله‌سازی داده‌های سازمانی در سطح سطر دیتابیس بدون ریسک نشت داده بین سازمان‌ها.

آخرین بروزرسانی: ۱ آبان ۱۴۰۵ · بخش مهندسی کراپلود

۱. ایزوله‌سازی در سطح QuerySet

در نکسوس، تمامی مدل‌های مرتبط با داده‌های شرکت از یک کلاس پایهٔ مشترک بهره می‌برند که فیلتر اجباری organization_id را روی هر کوئری اعمال می‌کند:

# apps/nexus/tenancy.py
class TenantQuerySet(models.QuerySet):
    def for_org(self, organization):
        if not organization:
            return self.none()
        return self.filter(organization=organization)