Skip to main content

বহু-ভাড়া ব্যবস্থা বিচ্ছিন্নতা (Multi-Tenancy Isolation)

Ultimate Multisite: Multi-Tenancy 1.2.0 এখন সার্বভৌম ভাড়াটিয়াদের জন্য প্রতি-সাবসাইট ডেটাবেস এবং ফাইল সিস্টেম বিচ্ছিন্নতা সমর্থন করে। এটি নেটওয়ার্ক-স্তরের প্রোভিশনিং, বিলিং এবং অ্যাডমিনিস্ট্রেশন বজায় রেখে ভাড়াটিয়ার ডেটাকে আলাদা রাখে।

বিচ্ছিন্নতার কৌশল (Isolation strategy)

যেসব গ্রাহকের জন্য আরও শক্তিশালী ডেটা পৃথকীকরণ, নির্দিষ্ট ফাইল স্টোরেজ বা আলাদা হোস্ট সীমানার প্রয়োজন, তাদের জন্য সার্বভৌম বিচ্ছিন্নতা ব্যবহার করুন।

প্রতিটি সার্বভৌম ভাড়াটিয়াকে নিম্নলিখিত জিনিসগুলি থাকতে হবে:

  • একটি ডেডিকেটেড টেন্যান্ট ডেটাবেস অথবা হোস্টে অনুমোদিত ডেটাবেস প্রিফিক্স কৌশল।
  • একটি ডেডিকেটেড টেন্যান্ট ফাইল সিস্টেম রুট।
  • একটি টেন্যান্ট রেজিস্ট্রি এন্ট্রি যা সাইটটিকে এর ডেটাবেস, রুট পাথ, হোস্টনেম এবং বিচ্ছিন্নতা মডেলের সাথে ম্যাপ করে।
  • ভাড়াটিয়া লাইভ হিসাবে বিবেচিত হওয়ার আগে একটি মাইগ্রেশন যাচাইকরণ ফলাফল।

ডেটাবেস হোস্ট বাইন্ডিং (Database host binding)

সংস্করণ 1.2.0 সার্বভৌম ইনস্টলেশনের জন্য ডিফল্ট একই মেশিনে হোস্ট বাইন্ডিং আচরণ পরিবর্তন করেছে। localhost এর মতো একই মেশিনের মানগুলিকে স্বাভাবিক করা হয়েছে যাতে Bedrock, FrankenPHP এবং কন্টেইনারাইজড WordPress ইনস্টলগুলি MySQL আসলে যে হোস্ট স্ট্রিংটি দেখে তা পরীক্ষা করতে এবং অনুমতি দিতে পারে।

একটি সার্বভৌম ভাড়াটিয়া কনফিগার করার সময়:

১. ডেটাবেস হোস্টকে টেন্যান্ট রানটাইমের প্রয়োজনীয় মান সেট করুন। ২. স্থানীয় সংযোগ প্রত্যাশা করলে লোকাল সকেট ইনস্টলেশনের জন্য localhost ব্যবহার করুন। ৩. শুধুমাত্র তখনই 127.0.0.1 বা একটি সার্ভিস হোস্টনেম ব্যবহার করুন যখন ডেটাবেস সার্ভার সেই হোস্টে সুবিধা দেয়। ৪. হোস্ট বাইন্ডিং পরিবর্তন করার পরে মাইগ্রেশন যাচাইকরণ চালান।

যদি যাচাইকরণ ব্যর্থতার রিপোর্ট করে, তবে টেন্যান্টের DB ইউজার গ্রান্টগুলির সাথে কনফিগার করা হোস্ট বাইন্ডিং তুলনা করুন। user@localhost-এর জন্য অনুমোদিত ব্যবহারকারী [email protected] বা user@%-এর থেকে আলাদা।

ফাইল সিস্টেম রুট (Filesystem root)

ভাড়াটিয়া রুটটি পুনরায় চালু বা ডিপ্লয়মেন্টের পরেও স্থিতিশীল থাকা উচিত। অস্থায়ী মাউন্ট পাথ এড়িয়ে চলুন। Bedrock-স্টাইলের ইনস্টলেশনের জন্য, নিশ্চিত করুন যে টেন্যান্ট রুটটি শুধুমাত্র প্রজেক্ট রুট নয়, বরং টেন্যান্ট বুটস্ট্র্যাপ দ্বারা প্রত্যাশিত ওয়ার্ডপ্রেস ওয়েব রুটে নির্দেশ করছে।

প্রোভিশনিং ক্রম (Provisioning order)

নতুন সার্বভৌম টেন্যান্টগুলির জন্য, এই ক্রমটি ব্যবহার করুন:

১. টেন্যান্ট রেজিস্ট্রি এন্ট্রি তৈরি করুন। ২. টেন্যান্ট ডেটাবেস এবং ডেটাবেস ইউজার তৈরি করুন। ৩. টেন্যান্ট স্কিমা বুটস্ট্র্যাপ করুন। ৪. টেন্যান্ট ব্যবহারকারীদের প্রোভিশন করুন। ৫. টেন্যান্ট ফাইল সিস্টেম পাথ কনফিগার করুন। ৬. মাইগ্রেশন যাচাইকরণ চালান। ৭. যাচাইকরণ সফল হওয়ার পরে রাউটিং বা ডিএনএস পরিবর্তন করুন।

এই ক্রমটি ডেটাবেস রাইটার, ইউজার এবং ফাইল সিস্টেম প্রস্তুত না হওয়ার আগে আংশিকভাবে বিচ্ছিন্ন টেন্যান্টগুলিকে ট্র্যাফিক পাওয়ার হাত থেকে রক্ষা করে।

সার্বভৌম গ্রাহক ব্যবস্থাপনা প্রবাহ (Sovereign customer management flows)

Ultimate Multisite v2.13.0-এ যখন সার্বভৌম মোড চালু থাকে, তখন গ্রাহক ব্যবস্থাপনার কাজগুলি মূল সাইটে রাখা হয়। একটি টেন্যান্ট এখনও একটি বিচ্ছিন্ন ওয়ার্ডপ্রেস ইনস্টলেশন হিসাবে চলতে পারে, কিন্তু নেটওয়ার্ক বিলিং, সদস্যপদ বা শেয়ার্ড অ্যাকাউন্ট ডেটার উপর নির্ভরশীল গ্রাহক-মুখী কাজগুলি টেন্যান্ট রানটাইমের মধ্যে কাজটি সম্পন্ন করার চেষ্টা না করে গ্রাহককে মূল সাইটে ফেরত পাঠাবে।

মূল সাইট প্রবাহ নিম্নলিখিতগুলির জন্য প্রযোজ্য:

  • চেকআউট এবং পরিকল্পনা পরিবর্তন।
  • অ্যাকাউন্ট ওভারভিউ এবং গ্রাহক প্রোফাইল অ্যাকশন।
  • বিলিং ঠিকানা আপডেট এবং পেমেন্ট-ম্যানেজমেন্ট স্ক্রিন।
  • ইনভয়েস এবং পেমেন্ট হিস্ট্রি ভিউ।
  • সাইট যোগ করা বা সাইট মুছে ফেলা সহ সাইট ব্যবস্থাপনা অ্যাকশন।
  • টেমপ্লেট পরিবর্তন।
  • ডোমেইন ম্যাপিং এবং প্রাইমারি-ডোমেইন পরিবর্তন।

কাস্টমার যদি কোনো সার্বভৌম টেন্যান্ট (sovereign tenant) থেকে এই কাজগুলির মধ্যে একটি শুরু করে, তাহলে Ultimate Multisite সেই মূল সাইটের URL তৈরি করবে এবং যখন এটা নিরাপদ হবে তখন উৎস টেন্যান্টটিকে রিটার্ন টার্গেট হিসেবে সংরক্ষণ করবে। এর ফলে কাস্টমাররা নেটওয়ার্ক রেকর্ডগুলোর বিপরীতে ম্যানেজড অ্যাকশন সম্পন্ন করতে পারে, তারপর বিলিং বা মেম্বারশিপ স্টেট ডাটাসেটে ডুপ্লিকেট না করে টেন্যান্ট কনটেক্সটে ফিরে যেতে পারে।

অপারেটরদের জন্য, বাস্তব নিয়মটি হলো: সার্বভৌম নেটওয়ার্কগুলির জন্য মূল সাইটে বিলিং, অ্যাকাউন্ট, চেকআউট, ইনভয়েস, টেমপ্লেট এবং ডোমেইন-ম্যানেজমেন্ট পেজগুলো উপলব্ধ রাখুন। টেন্যান্ট ড্যাশবোর্ডগুলো সেই পেজগুলোতে লিঙ্ক করতে পারে, কিন্তু অ্যাকশনের উৎস হিসেবে মূল সাইটটিই সত্য (source of truth) থাকবে।