বহু-ভাড়া ব্যবস্থা বিচ্ছিন্নতা (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 বা একটি সার্ভিস হোস্টনেম ব্যবহার করুন যখন ডেটাবেস সার্ভার সেই হোস্টে সুবিধা দেয়।
৪. হোস্ট বাইন্ডিং পরিবর্তন করার পরে মাইগ্রেশন যাচাইকরণ চালান।
যদি যাচাইকরণ ব্যর্থতার রিপোর্ট করে, তবে টেন্যান্টের ডিবি ইউজার গ্রান্টগুলির সাথে কনফিগার করা হোস্ট বাইন্ডিং তুলনা করুন। user@localhost-এর জন্য অনুমোদিত ব্যবহারকারী [email protected] বা user@%-এর থেকে আলাদা।
ফাইল সিস্টেম রুট (Filesystem root)
ભારણ (Tenant root) ને રીસ્ટાર્ટ અને ડિપ્લોયમેન્ટ દરમિયાન સ્થિર રાખવો જોઈએ. తాత్కాలిక માઉન્ટ પાથનો ઉપયોગ ટાળો. Bedrock-શૈલીના ઇન્સ્ટોલેશન માટે, ખાતરી કરો કે ભારણ રૂટ તે WordPress વેબ રૂટ પર પોઇન્ટ કરે છે જે ટેนન્ટ બૂટસ્ટ્રેપ મુજબ અપેક્ષિત છે, માત્ર પ્રોજેક્ટ રૂટ પર નહીં.
પ્રદાન કરવાની ક્રમ (Provisioning order)
નવા સાર્વભૌમ ટેนન્ટ્સ માટે, આ ક્રમનો ઉપયોગ કરો:
૧. ટેนન્ટ રજિસ્ટ્રી એન્ટ્રી બનાવો. ૨. ટેนન્ટ ડેટાબેઝ અને ડેટાબેઝ યુઝર બનાવો. ૩. ટેนન્ટ સ્કીમાને બૂટસ્ટ્રેપ કરો. ૪. ટેนન્ટ યુઝર્સ પ્રદાન કરો. ૫. ટેนન્ટ ફાઇલ સિસ્ટમ પાથ્સને કન્ફિગર કરો. ૬. માઇગ્રેશન ચકાસણી ચલાવો. ૭. ચકાસણી પસાર થયા પછી રૂટિંગ અથવા DNS બદલો.
આ ક્રમ ખાતરી કરે છે કે ડેટાબેઝ રાઇટર, યુઝર્સ અને ફાઇલ સિસ્ટમ તૈયાર થાય તે પહેલાં આંશિક રીતે અલગ કરાયેલા ટેนન્ટ્સને ટ્રાફિક ન મળે.
સાર્વભૌમ ગ્રાહક વ્યવસ્થાપન પ્રવાહો (Sovereign customer management flows)
Ultimate Multisite v2.13.0 માં સાર્વભૌમ મોડ ચાલુ હોય ત્યારે ગ્રાહક વ્યવસ્થાપન ક્રિયાઓ મુખ્ય સાઇટ પર જ રાખવામાં આવે છે. એક ટેนન્ટ હજી પણ અલગ WordPress ઇન્સ્ટોલેશન તરીકે ચાલી શકે છે, પરંતુ નેટવર્ક બિલિંગ, સભ્યપદ અથવા શેર કરેલ એકાઉન્ટ ડેટા પર આધારિત ગ્રાહક-મુક્ષ ક્રિયાઓ જે ટેนન્ટ રનટાઇમની અંદર પૂર્ણ કરવાનો પ્રયાસ કરે છે તેના બદલે ગ્રાહકને મુખ્ય સાઇટ પર પાછા મોકલવી જોઈએ.
મુખ્ય સાઇટ પ્રવાહ નીચેના માટે લાગુ પડે છે:
- ચેકઆઉટ અને પ્લાન ફેરફારો.
- એકાઉન્ટ ઓવરવ્યૂ અને ગ્રાહક પ્રોફાઇલ ક્રિયાઓ.
- બિલિંગ સરનામાના અપડેટ્સ અને પેમેન્ટ-મેનેજમેન્ટ સ્ક્રીનો.
- ઇન્વોઇસ અને પેમેન્ટ-હિસ્ટરી વ્યુઝ.
- સાઇટ ઉમેરવા અથવા સાઇટ ડિલીટ કરવા જેવી સાઇટ મેનેજમેન્ટ ક્રિયાઓ.
- ટેમ્પલેટ સ્વિચિંગ.
- ડોમેન મેપિંગ અને પ્રાથમિક-ડોમેન ફેરફારો.
ଯେତେବେଳେ କୌଣସି ଗ୍ରାହକ ସ୍ୱରୋତ୍ସାହୀ ଟେନେଣ୍ଟ (sovereign tenant) ରୁ ଏହି କାର୍ଯ୍ୟଗୁଡ଼ିକ ମଧ୍ୟରୁ ଗୋଟିଏ ଆରମ୍ଭ କରନ୍ତି, Ultimate Multisite ସେଥିପାଇଁ ସେହି ମେନ୍-ସାଇଟ୍ URL ତିଆରି କରିବ ଏବଂ ଯେତେବେଳେ ସୁରକ୍ଷିତ ହେବ, ସେହି ସ୍ରୋତ ଟେନେଣ୍ଟକୁ ଏକ ବାକି ପାଇଁ (return target) ରଖିବ। ଏହା ଗ୍ରାହକମାନଙ୍କୁ ନେଟୱାର୍କ ରେକର୍ଡ୍ ବିରୁଦ୍ଧରେ ମ୍ୟାନେଜ୍ କରାଯାଇଥିବା କାର୍ଯ୍ୟ ସମ୍ପୂର୍ଣ୍ଣ କରିବାକୁ ଅନୁମତି ଦିଏ, ଏବଂ ସେହି ସ୍ରୋତ ଡାଟାବେସ୍ (sovereign database) ରେ ବିଲିଂ ବା ମେମ୍ବରସ୍କିପ୍ ଷ୍ଟେଟକୁ ଦୁଇଥର ନକଲ କରିବା ଆବଶ୍ୟକ ହୁଏ ନାହିଁ।
ଅପରେଟର୍ମାନଙ୍କ ପାଇଁ ପ୍ରାକ୍ତିକ ନିୟମ ହେଉଛି: ସ୍ରୋତ ନେଟୱାର୍କଗୁଡ଼ିକ ପାଇଁ ବିଲିଂ, ଆକାଉଣ୍ଟ, ଚେକ୍ଆଉଟ୍, ଇନଭଏସ୍ (invoice), ଟେମ୍ପଲେଟ ଏବଂ ଡୋमेन-ମ୍ୟାନେଜମେଣ୍ଟ ପେଜ୍ଗୁଡ଼ିକ ମେନ୍ ସାଇଟରେ ଉପଲବହାରୀ ରଖିବା। ଟେନେଣ୍ଟ ଡାଶବୋର୍ଡରୁ ସେହି ପେଜ୍ଗୁଡ଼ିକକୁ ଲିଙ୍କ କରାଯାଇପାରିବ, କିନ୍ତୁ ମେନ୍ ସାଇଟ୍ ହେଉଛି କାର୍ଯ୍ୟ ପାଇଁ ପ୍ରମୂଖ ସତ୍ୟ (source of truth)।