বহু-ভাড়া বা মাল্টি-টেন্যান্সি বিচ্ছিন্নতা (Multi-Tenancy Isolation)
Ultimate Multisite: Multi-Tenancy 1.2.0 সার্বভৌম গ্রাহকদের জন্য প্রতি-সাবসাইট ডেটাবেস এবং ফাইল সিস্টেম আইসোলেশন সমর্থন করে। এটি নেটওয়ার্ক-স্তরের প্রোভিশনিং, বিলিং এবং অ্যাডমিনিস্ট্রেশন বজায় রেখে গ্রাহকের ডেটাকে আলাদা রাখে।
বিচ্ছিন্নতার কৌশল (Isolation strategy)
যেসব গ্রাহকের জন্য আরও শক্তিশালী ডেটা পৃথকীকরণ, ডেডিকেটেড ফাইল সিস্টেম স্টোরেজ বা একটি আলাদা হোস্ট সীমানার প্রয়োজন, তাদের জন্য সার্বভৌম আইসোলেশন ব্যবহার করুন।
প্রতিটি সার্বভৌম গ্রাহকের নিম্নলিখিত বিষয়গুলি থাকা উচিত:
- হোস্টের জন্য অনুমোদিত একটি ডেডিকেটেড টেন্যান্ট ডেটাবেস বা ডেটাবেস প্রিফি ক্স কৌশল।
- একটি ডেডিকেটেড টেন্যান্ট ফাইল সিস্টেম রুট।
- একটি টেন্যান্ট রেজিস্ট্রি এন্ট্রি যা সাইটটিকে এর ডেটাবেস, রুট পাথ, হোস্টনেম এবং আইসোলেশন মডেলের সাথে ম্যাপ করে।
- টেন্যান্ট লাইভ হিসাবে বিবেচিত হওয়ার আগে একটি মাইগ্রেশন যাচাইকরণ ফলাফল।
ডেটাবেস হোস্ট বাইন্ডিং (Database host binding)
সংস্করণ 1.2.0 সার্বভৌম ইনস্টলগুলির জন্য ডিফল্ট একই মেশিনে হোস্ট বাইন্ডিং আচরণ পরিবর্তন করেছে। localhost এর মতো একই মেশিনের মানগুলিকে স্বাভাবিক করা হয়েছে যাতে Bedrock, FrankenPHP এবং কন্টেইনারাইজড ওয়ার্ডপ্রেস ইনস্টলগুলি MySQL আসলে যে হোস্ট স্ট্রিংটি দেখে তা পরীক্ষা করতে পারে এবং অনুমতি দিতে পারে।
একটি সার্বভৌম টেন্যান্ট কনফিগার করার সময়:
- ডেটাবেস হোস্টকে টেন্যান্ট রানটাইমের প্রয়োজনীয় মান সেট করুন।
- যখন হোস্ট স্থানীয় সংযোগ আশা করে, তখন লোকাল সকেট ইনস্টলগুলির জন্য
localhostব্যবহার করুন। - শুধুমাত্র তখনই
127.0.0.1বা একটি সার্ভিস হোস্টনেম ব্যবহার করুন যখন ডেটাবেস সার্ভার সেই হোস্টে সুবিধা প্রদান করে। - হোস্ট বাইন্ডিং পরিবর্তন করার পরে মাইগ্রেশন যাচাইকরণ চালান।
যদি যাচাইকরণ ব্যর্থতার রিপোর্ট করে, তবে টেন্যান্টের ডিবি ইউজার গ্রান্টগুলির সাথে কনফিগার করা হোস্ট বাইন্ডিং তুলনা করুন। user@localhost-এর জন্য অনুমোদিত ব্যবহারকারী [email protected] বা user@%-এর থেকে আলাদা।
ফাইল সিস্টেম রুট (Filesystem root)
ટેનેન્ટ રૂટ રીસ્ટાર્ટ અને ડિપ્લોયમેન્ટ દરમિયાન સ્થિર હોવી જોઈએ. કામચલાઉ માઉન્ટ પાથનો ઉપયોગ ટાળો. Bedrock-શૈલીના ઇન્સ્ટોલેશન માટે, ખાતરી કરો કે ટેનેન્ટ રૂટ તે WordPress વેબ રૂટ પર પોઇન્ટ કરે છે જે ટેનેન્ટ બૂટસ્ટ્રપ દ્વારા અપેક્ષિત છે, માત્ર પ્રોજેક્ટ રૂટ પર નહીં.
પ્રોવિઝનિંગ ઓર્ડર
નવા સાર્વભૌમ ટેનેન્ટ્સ માટે, આ ક્રમનો ઉપયોગ કરો:
૧. ટેનેન્ટ રજિસ્ટ્રી એન્ટ્રી બનાવો. ૨. ટેનેન્ટ ડેટાબેઝ અને ડેટાબેઝ યુઝર બનાવો. ૩. ટેનેન્ટ સ્કીમા બૂટસ્ટ્રપ કરો. ૪. ટેનેન્ટ યુઝર્સ પ્રોવિઝન કરો. ૫. ટેનેન્ટ ફાઇલ સિસ્ટમ પાથ્સ ગોઠવો. ૬. માઇગ્રેશન વેરિફિકેશન ચલાવો. ૭. વેરિફિકેશન પાસ થયા પછી રૂટિંગ અથવા DNS બદલો.
આ ક્રમ ખાતરી કરે છે કે ડેટાબેઝ રાઇટર, યુઝર્સ અને ફા ઇલ સિસ્ટમ તૈયાર થાય તે પહેલાં આંશિક રીતે અલગ કરાયેલા ટેનેન્ટ્સને ટ્રાફિક ન મળે.
સાર્વભૌમ ગ્રાહક મેનેજમેન્ટ ફ્લો
Ultimate Multisite v2.13.0 માં સાર્વભૌમ મોડ ચાલુ હોય ત્યારે ગ્રાહક મેનેજમેન્ટ એક્શન મુખ્ય સાઇટ પર જ રાખવામાં આવે છે. એક ટેનેન્ટ હજી પણ અલગ WordPress ઇન્સ્ટોલેશન તરીકે ચાલી શકે છે, પરંતુ નેટવર્ક બિલિંગ, સભ્યપદ અથવા શેર કરેલ એકાઉન્ટ ડેટા પર આધારિત ગ્રાહક-મુક્ષે એક્શન્સને ટેનેન્ટ રનટાઇમની અંદર પૂર્ણ કરવાનો પ્રયાસ કરવાને બદલે ગ્રાહકને મુખ્ય સાઇટ પર પાછા મોકલવા જોઈએ.
મુખ્ય સાઇટ ફ્લો નીચેની બાબતો માટે લાગુ પડે છે:
- ચેકઆઉટ અને પ્લાન ફેરફારો.
- એકાઉન્ટ ઓવરવ્યૂ અને ગ્રાહક પ્રોફાઇલ એક્શન્સ.
- બિલિંગ સરનામાના અપડેટ્સ અને પેમેન્ટ-મેનેજમેન્ટ સ્ક્રીનો.
- ઇન્વોઇસ અને પેમેન્ટ-હિસ્ટરી વ્યૂઝ.
- સાઇટ્સ ઉમેરવા અથવા સાઇટ ડિલીટ કરવા જેવા સાઇટ મેનેજમેન્ટ એક્શન્સ.
- ટેમ્પલેટ સ્વિચિંગ.
- ડોમેન મેપિંગ અને પ્રાઇમરી-ડોમેન ફેરફારો.
ਜਦੋਂ ਕੋਈ ਕਲਾਇੰਟ ਕਿਸੇ ਸੋਵਰੇਨ ਟੈਨੈਂਟ (sovereign tenant) ਤੋਂ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਐਕਸ਼ਨ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਤਾਂ Ultimate Multisite ਉਸ ਦੇ ਸਬੰਧਤ ਮੇਨ-ਸਾਈਟ URL ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਜਦੋਂ ਇਹ ਸੁਰੱਖਿਅਤ ਹੁੰਦਾ ਹੈ ਤਾਂ ਸਰੋਤ ਟੈਨੈਂਟ (source tenant) ਨੂੰ ਵਾਪਸੀ ਦਾ ਨਿਸ਼ਾਨਾ ਰੱਖਦਾ ਹੈ। ਇਹ ਕਲਾਇੰਟਾਂ ਨੂੰ ਗੈਰ-ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਮੇਨ-ਸਾਈਟ ਦੇ ਰਿਕਾਰਡਾਂ ਨਾਲ ਪ੍ਰਬੰਧਿਤ ਐਕਸ਼ਨ ਪੂਰਾ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਫਿਰ ਟੈਨੈਂਟ ਦੇ ਸੰਦਰਭ ਵਿੱਚ ਵਾਪਸ ਜਾਣ ਲਈ ਬਿਲਿੰਗ ਜਾਂ ਮੈਂਬਰਸ਼ਿਪ ਸਥਿਤੀ ਨੂੰ ਡੇਟਾਬੇਸ ਵਿੱਚ ਦੁਹਰਾਉਣ ਤੋਂ ਬਚਦੇ ਹਨ।
ਆਪਰੇਟਰਾਂ ਲਈ, ਅਮਲੀ ਨਿਯਮ ਇਹ ਹੈ: ਸਰੋਤ ਟੈਨੈਂਟਾਂ ਲਈ ਬਿਲਿੰਗ, ਖਾਤਾ (account), ਚੈੱਕਆਊਟ (checkout), ਇਨਵੌਇਸ (invoice), 템ਪਲੇਟ (template) ਅਤੇ ਡੋमेन-ਮੈਨੇਜਮੈਂਟ ਪੇਜ ਮੇਨ ਸਾਈਟ 'ਤੇ ਉਪਲਬਧ ਰੱਖੋ। ਟੈਨੈਂਟ ਡੈਸ਼ਬੋਰਡ ਉਨ੍ਹਾਂ ਪੇਜਾਂ ਨਾਲ ਲਿੰਕ ਕਰ ਸਕਦੇ ਹਨ, ਪਰ ਐਕਸ਼ਨ ਲਈ ਮੇਨ ਸਾਈਟ ਹੀ ਸੱਚ ਦਾ ਸਰੋਤ (source of truth) ਰਹਿੰਦਾ ਹੈ।