Skip to main content

મલ્ટિ-ટેનન્સી આઇસોલેશન (Multi-Tenancy Isolation)

Ultimate Multisite: Multi-Tenancy 1.2.0 હવે સાર્વભૌમ ટેનન્ટ્સ માટે પ્રતિ-સબ-સાઇટ ડેટાબેઝ અને ફાઇલ સિસ્ટમ આઇસોલેશનને સપોર્ટ કરે છે. આનાથી નેટવર્ક-સ્તરની પ્રોવિઝનિંગ, બિલિંગ અને એડમિનિસ્ટ્રેશન જાળવી રાખતી વખતે ટેનન્ટ ડેટા અલગ રહે છે.

આઇસોલેશન વ્યૂહરચના (Isolation strategy)

જે ગ્રાહકોને વધુ મજબૂત ડેટા વિભાજન, સમર્પિત ફાઇલ સિસ્ટમ સ્ટોરેજ અથવા અલગ હોસ્ટ બોર્ડરની જરૂર હોય તેમના માટે સાર્વભૌમ આઇસોલેશનનો ઉપયોગ કરો.

દરેક સાર્વભૌમ ટેનન્ટ પાસે નીચે મુજબ હોવું જોઈએ:

  • એક સમર્પિત ટેનન્ટ ડેટાબેઝ અથવા હોસ્ટ દ્વારા મંજૂર કરેલી ડેટાબેઝ પ્રીફિક્સ વ્યૂહરચના.
  • એક સમર્પિત ટેનન્ટ ફાઇલ સિસ્ટમ રૂટ (root).
  • એક ટેનન્ટ રજિસ્ટ્રી એન્ટ્રી જે સાઇટને તેના ડેટાબેઝ, રૂટ પાથ, હોસ્ટનું નામ અને આઇસોલેશન મોડેલ સાથે મેપ કરે.
  • ટેનન્ટ લાઇવ ગણવામાં આવે તે પહેલાં માઇગ્રેશન વેરિફિકેશન પરિણામ.

ડેટાબેઝ હોસ્ટ બાઇન્ડિંગ (Database host binding)

વર્ઝન 1.2.0 સાર્વભૌમ ઇન્સ્ટોલેશન માટે ડિફોલ્ટ સેમ-મશીન હોસ્ટ બાઇન્ડિંગ વર્તનને બદલે છે. localhost જેવા સેમ-મશીન મૂલ્યોને સામાન્ય બનાવવામાં આવે છે જેથી Bedrock, FrankenPHP અને કન્ટેનરાઇઝ્ડ WordPress ઇન્સ્ટોલ્સ MySQL જે સ્ટ્રિંગને ખરેખર જુએ છે તેની સામે પરવાનગી આપી શકે અને ચકાસી શકે.

જ્યારે તમે સાર્વભૌમ ટેનન્ટ konfiguring કરો છો:

  1. ડેટાબેઝ હોસ્ટને ટેનન્ટ રનટાઇમ દ્વારા જરૂરી મૂલ્ય પર સેટ કરો.
  2. સ્થાનિક જોડાણો માટે જ્યારે હોસ્ટ સ્થાનિક જોડાણોની અપેક્ષા રાખે છે ત્યારે localhost નો ઉપયોગ કરો.
  3. માત્ર ત્યારે જ 127.0.0.1 અથવા સર્વિસ હોસ્ટનું નામનો ઉપયોગ કરો જ્યારે ડેટાબેઝ સર્વર તે હોસ્ટને વિશેષાધિકાર આપે.
  4. હોસ્ટ બાઇન્ડિંગ બદલ્યા પછી માઇગ્રેશન વેરિફિકેશન ચલાવો.

જો વેરિફિકેશન ગ્રાન્ટ ફેલ થવાની જાણ કરે, તો ટેનન્ટ DB યુઝર ગ્રાન્ટ્સની તુલના konfiguring host binding સાથે કરો. user@localhost માટે આપવામાં આવેલ યુઝર [email protected] અથવા user@% કરતાં અલગ હોય છે.

ફાઇલ સિસ્ટમ રૂટ (Filesystem root)

ટેનેન્ટ રૂટ રીસ્ટાર્ટ અને ડિપ્લોયમેન્ટ દરમિયાન સ્થિર હોવો જોઈએ. કામચલાઉ માઉન્ટ પાથનો ઉપયોગ ટાળો. Bedrock-શૈલીના ઇન્સ્ટોલેશન માટે, ખાતરી કરો કે ટેનેન્ટ રૂટ તે WordPress વેબ રૂટ પર પોઇન્ટ કરે છે જે ટેનેન્ટ બૂટસ્ટ્રેપ દ્વારા અપેક્ષિત છે, માત્ર પ્રોજેક્ટ રૂટ પર નહીં.

પ્રોવિઝનિંગ ક્રમ (Provisioning order)

નવા સાર્વભૌમ ટેનેન્ટ્સ માટે, આ ક્રમનો ઉપયોગ કરો:

  1. ટેનેન્ટ રજિસ્ટ્રી એન્ટ્રી બનાવો.
  2. ટેનેન્ટ ડેટાબેઝ અને ડેટાબેઝ યુઝર બનાવો.
  3. ટેનેન્ટ સ્કીમા બૂટસ્ટ્રેપ કરો.
  4. ટેનેન્ટ યુઝર્સ પ્રોવિઝન કરો.
  5. ટેનેન્ટ ફાઇલ સિસ્ટમ પાથ્સ ગોઠવો.
  6. માઇગ્રેશન વેરિફિકેશન ચલાવો.
  7. વેરિફિકેશન પાસ થયા પછી રૂટિંગ અથવા DNS બદલો.

આ ક્રમ ખાતરી કરે છે કે ડેટાબેઝ રાઇટર, યુઝર્સ અને ફાઇલ સિસ્ટમ તૈયાર થાય તે પહેલાં આંશિક રીતે અલગ કરાયેલા ટેનેન્ટ્સને ટ્રાફિક ન મળે.

સાર્વભૌમ ગ્રાહક મેનેજમેન્ટ ફ્લો (Sovereign customer management flows)

Ultimate Multisite v2.13.0 માં સાર્વભૌમ મોડ ચાલુ હોય ત્યારે ગ્રાહક મેનેજમેન્ટની ક્રિયાઓ મુખ્ય સાઇટ પર જ રાખવામાં આવે છે. એક ટેનેન્ટ હજી પણ અલગ WordPress ઇન્સ્ટોલેશન તરીકે ચાલી શકે છે, પરંતુ નેટવર્ક બિલિંગ, સભ્યપદ (membership) અથવા શેર કરેલ એકાઉન્ટ ડેટા પર આધારિત ગ્રાહક-મુક્ષ ક્રિયાઓ ટેનેન્ટ રનટાઇમની અંદર પૂર્ણ કરવાનો પ્રયાસ કરવાને બદલે ગ્રાહકને મુખ્ય સાઇટ પર પાછા મોકલવી જોઈએ.

મુખ્ય સાઇટ ફ્લો નીચેની બાબતો માટે લાગુ પડે છે:

  • ચેકઆઉટ અને પ્લાન ફેરફારો.
  • એકાઉન્ટ ઓવરવ્યૂ અને ગ્રાહક પ્રોફાઇલ ક્રિયાઓ.
  • બિલિંગ સરનામાના અપડેટ્સ અને પેમેન્ટ-મેનેજમેન્ટ સ્ક્રીનો.
  • ઇન્વોઇસ અને પેમેન્ટ-હિસ્ટરી વ્યુઝ.
  • સાઇટ્સ ઉમેરવા અથવા સાઇટ ડિલીટ કરવા જેવી સાઇટ મેનેજમેન્ટ ક્રિયાઓ.
  • ટેમ્પલેટ સ્વિચિંગ.
  • ડોમેન મેપિંગ અને પ્રાથમિક-ડોમેન ફેરફારો.

જ્યારે કોઈ ગ્રાહક સોવરેન ટેન્નેન્ટ (sovereign tenant) માંથી આમાંથી કોઈ એક એક્શન શરૂ કરે છે, ત્યારે Ultimate Multisite તેના સંબંધિત મેઇન-સાઇટ URL બનાવે છે અને જ્યાં સુધી તે સુરક્ષિત હોય ત્યાં સુધી મૂળ ટેન્નેન્ટને રિટર્ન ટાર્ગેટ તરીકે જાળવી રાખે છે. આનાથી ગ્રાહકો નેટવર્ક રેકોર્ડ્સ સામે મેનેજ કરેલ એક્શન પૂર્ણ કરી શકે છે, અને પછી બિલિંગ અથવા સભ્યપદની સ્થિતિમાં ડુપ્લિકેશન કર્યા વિના ટેન્નેન્ટ સંદર્ભ પર પાછા ફરી શકે છે.

ઓપરેટરો માટે, વ્યવહારુ નિયમ આ પ્રમાણે છે: સોવરેન નેટવર્ક્સ માટે બિલિંગ, એકાઉન્ટ, ચેકઆઉટ, ઇન્વોઇસ, ટેમ્પલેટ અને ડોમેન-મેનેજમેન્ટ પેજીસ મેઇન સાઇટ પર ઉપલબ્ધ રાખવા. ટેન્નેન્ટ ડેશબોર્ડ તે પેજીસ સાથે લિંક કરી શકે છે, પરંતુ એક્શન માટે મેઇન સાઇટ જ સ્રોત સત્ય (source of truth) રહે છે.