مایکل مککنا در سری جدیدی به بررسی موضوع Multi-tenancy در ASP.NET Core 8 پرداخته است. این سری شامل سه بخش است که در آن به راهحلهای مختلف برای پیادهسازی Multi-tenancy و چالشهای مربوطه میپردازد. در این بخش اول، به تعریف Multi-tenancy و روشهای شناسایی Tenant از درخواست HTTP پرداخته شده است.
Multi-tenancy به معنای میزبانی چندین Tenant (مشتری یا کاربر) در یک نمونه واحد از برنامه است. این رویکرد به کاهش هزینههای میزبانی کمک میکند، زیرا چندین Tenant میتوانند از یک زیرساخت مشترک (از جمله برنامه و پایگاه داده) استفاده کنند. با این حال، جداسازی Tenantها در سطح کد ضروری است تا از دسترسی غیرمجاز به دادههای Tenantهای دیگر جلوگیری شود.
در این مقاله، به سه الزام اصلی برای پیادهسازی Multi-tenancy اشاره شده است: شناسایی Tenant، تنظیمات و سرویسهای خاص Tenant و جداسازی دادههای Tenant. برای شناسایی Tenant، میتوان از روشهای مختلفی مانند دامنه، مسیر یا هدر در درخواست HTTP استفاده کرد. در این مقاله، از یک استراتژی به نام HostResolutionStrategy استفاده شده است که دامنه را برای شناسایی Tenant استفاده میکند.
کد منبع این پروژه در GitHub در دسترس است و یک NuGet package نیز برای پیادهسازی Multi-tenancy در برنامههای کاربردی شما ارائه شده است. این مقاله یک نقطه شروع خوب برای توسعهدهندگانی است که به دنبال پیادهسازی Multi-tenancy در برنامههای ASP.NET Core 8 خود هستند.
مشاهده مطلب اصلی