Skip to main content

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

۱. ایجاد ورودی رجیستری مستأجر. ۲. ایجاد پایگاه داده و کاربر پایگاه داده مستأجر. ۳. بوت‌استرپ اسکیما (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 لایەنی سەرەکیی URL-ی ئەو سایتەی دروست دەکات و سەرچاوەی تەنهاوەکە وەک خاڵی گەڕانەوە (return target) پارێزراوەتەوە کاتێک ئەمانە ئاساییە. ئەمە ڕێگە دەدات بە کڕیارەکان کارەکە بە شێوەیەکی بەڕێوەدەچێت لەسەر تۆمارە تۆڕییەکان، پاشان بدون دووبارەکردنەوەی داتای بڕین (billing) یان داتای ئەندازیاری (membership state) لە بنکەی داتاکردنی سەروەریدا.

بۆ بەڕێوەنییەکان، ئەو ڕێنمایی پراکتیکییە ئەوەیە: صفحاتەکەی بڕین (billing)، کارپێکردن (account)، کۆتاییهێنان (checkout)، فاکچۆرا (invoice)، قالب (template) و بەڕێوەبردنی ناوەندی (domain-management) لەسەر سایتێکی سەرەکی بۆ تۆڕە سەروەرییەکان پاراستن. داشبۆردەکانی تەنهاوەکە دەتوانن پەیوەندی بەو صفحاتانەوە بکەن، بەڵام سایتێکی سەرەکی هێشتا سەرچاوەی ڕاستییەکە (source of truth) بۆ ئەو کارە.