پرش به مطلب اصلی

جداسازی چند مستأجری (Multi-Tenancy Isolation)

Ultimate Multisite: Multi-Tenancy 1.2.0 از جداسازی پایگاه داده و فایل سیستم مخصوص هر زیرمجموعه سایت برای مستأجران حاکمیتی پشتیبانی می‌کند. این قابلیت باعث می‌شود داده‌های مستأجرها از هم جدا بمانند در حالی که امکان فراهم کردن منابع شبکه، صورت‌حساب و مدیریت حفظ می‌شود.

استراتژی جداسازی (Isolation strategy)

برای مشتریانی که نیاز به جداسازی قوی‌تر داده‌ها، فضای ذخیره‌سازی فایل اختصاصی یا مرز میزبان مجزا دارند، از جداسازی حاکمیتی (sovereign isolation) استفاده کنید.

هر مستأجر حاکمیتی باید موارد زیر را داشته باشد:

  • یک پایگاه داده اختصاصی برای آن مستأجر یا استراتژی پیشوند دیتابیس که توسط میزبان تأیید شده باشد.
  • ریشه فایل سیستم (filesystem root) اختصاصی برای آن مستأجر.
  • یک ورودی در رجیستری مستأجر که سایت را به پایگاه داده، مسیر ریشه، نام دامنه و مدل جداسازی متصل می‌کند.
  • نتیجه تأیید مهاجرت (migration verification result) قبل از اینکه مستأجر آماده اجرا تلقی شود.

اتصال میزبان دیتابیس (Database host binding)

نسخه 1.2.0 رفتار پیش‌فرض اتصال میزبان یک ماشین واحد برای نصب‌های حاکمیتی را تغییر می‌دهد. مقادیر مشابه مانند localhost نرمال‌سازی می‌شوند تا Bedrock، FrankenPHP و نصب‌های وردپرس کانتینری بتوانند مجوزها را در برابر رشته میزبان MySQL که واقعاً مشاهده می‌کند، اعطا و تأیید کنند.

هنگام پیکربندی یک مستأجر حاکمیتی:

  1. میزبان دیتابیس را روی مقداری تنظیم کنید که توسط زمان اجرا (runtime) مستأجر مورد نیاز است.
  2. برای نصب‌های محلی سوکت (local socket installs)، از localhost استفاده کنید، زمانی که میزبان انتظار اتصالات محلی را دارد.
  3. فقط در صورتی از 127.0.0.1 یا نام میزبان سرویس (service hostname) استفاده کنید که سرور دیتابیس به آن میزبان امتیازات بدهد.
  4. پس از تغییر اتصال میزبان، تأیید مهاجرت را اجرا کنید.

اگر گزارش‌های تأیید نتایج عدم اعطای مجوزها را نشان دادند، مجوزهای کاربر پایگاه داده مستأجر را با اتصال میزبان پیکربندی شده مقایسه کنید. کاربری که برای user@localhost مجاز شده است، با [email protected] یا user@% متفاوت است.

ریشه فایل سیستم (Filesystem root)

ریشه تاننت باید در هنگام راه‌اندازی مجدد و استقرارها پایدار باشد. از مسیرهای نصب موقت دوری کنید. برای نصب‌های سبک Bedrock، مطمئن شوید که ریشه تاننت به ریشه وب وردپرس مورد انتظار بوت‌استرپ تاننت اشاره می‌کند، نه فقط ریشه پروژه.

ترتیب فراهم کردن (Provisioning order)

برای تاننت‌های حاکمیتی جدید، از این ترتیب استفاده کنید:

۱. ایجاد ورودی رجیستری تاننت. ۲. ایجاد پایگاه داده و کاربر دیتابیس تاننت. ۳. بوت‌استرپ شمای تاننت (tenant schema). ۴. فراهم کردن کاربران تاننت. ۵. پیکربندی مسیرهای فایل سیستم تاننت. ۶. اجرای تأیید مهاجرت (migration verification). ۷. تغییر مسیریابی یا DNS پس از موفقیت در تأیید.

این ترتیب مانع این می‌شود که تاننت‌های نیمه‌منزوی قبل از آماده شدن نویسنده دیتابیس، کاربران و فایل سیستم تاننت ترافیک دریافت کنند.

جریان‌های مدیریت مشتری حاکمیتی (Sovereign customer management flows)

Ultimate Multisite v2.13.0 وقتی حالت حاکمیتی فعال باشد، اقدامات مدیریت مشتری را روی سایت اصلی نگه می‌دارد. یک تاننت همچنان می‌تواند به عنوان یک نصب وردپرس ایزوله اجرا شود، اما اقدامات مرتبط با مشتری که به صورت عملیاتی وابسته به صورت شبکه‌ای (مانند صورت‌حساب شبکه)، عضویت یا داده‌های حساب مشترک هستند، باید مشتری را به سایت اصلی بازگرداند تا سعی نکند عمل را در زمان اجرای تاننت تکمیل کند.

جریان سایت اصلی شامل موارد زیر است:

  • تغییرات و برنامه‌ریزی پرداخت (Checkout and plan changes).
  • نمای کلی حساب و اقدامات پروفایل مشتری.
  • به‌روزرسانی آدرس صورت‌حساب و صفحات مدیریت پرداخت.
  • نمای فاکتورها و تاریخچه پرداخت.
  • اقدامات مدیریت سایت مانند افزودن یا حذف سایت‌ها.
  • تغییر قالب (Template switching).
  • نگاشت دامنه (Domain mapping) و تغییرات دامنه اصلی.

وقتی مشتری از یکی از این عملیات‌ها در یک تاننت حاکمیتی (sovereign tenant) شروع می‌کند، Ultimate Multisite آدرس سایت اصلی متناظر را می‌سازد و اگر ایمن باشد، تاننت منبع را به عنوان مقصد بازگشت حفظ می‌کند. این کار به مشتری اجازه می‌دهد عملیات مدیریت شده را بر روی سوابق شبکه انجام دهد و سپس بدون تکرار وضعیت صورت‌حساب یا عضویت در پایگاه داده حاکمیتی، به زمینه تاننت بازگردد.

برای اپراتورها، قانون عملی این است: صفحات مربوط به صورت‌حساب (billing)، حساب کاربری (account)، تسویه حساب (checkout)، فاکتور (invoice)، قالب (template) و مدیریت دامنه باید در سایت اصلی برای شبکه‌های حاکمیتی در دسترس باشند. داشبوردهای تاننت می‌توانند به آن صفحات لینک دهند، اما سایت اصلی همچنان منبع حقیقت (source of truth) برای این عملیات باقی می‌ماند.