Skip to main content

മൾട്ടി-ടെന്നസി ഐസൊലേഷൻ (Multi-Tenancy Isolation)

Ultimate Multisite: Multi-Tenancy 1.2.0 ഇപ്പോൾ പരമാധികാരമുള്ള ടെനന്റുമാർക്കായി ഓരോ സബ്സൈറ്റിനും പ്രത്യേക ഡാറ്റാബേസ്, ഫയൽ സിസ്റ്റം ഐസൊലേഷൻ പിന്തുണയ്ക്കുന്നു. ഇത് നെറ്റ്‌വർക്ക് തലത്തിലുള്ള പ്രോവിഷനിംഗ്, ബില്ലിംഗ്, അഡ്മിനിസ്ട്രേഷൻ എന്നിവ നിലനിർത്തിക്കൊണ്ട് ടെനന്റ് ഡാറ്റയെ വേർതിരിക്കുന്നു.

ഐസൊലേഷൻ തന്ത്രം (Isolation strategy)

ഡാറ്റയുടെ കൂടുതൽ ശക്തമായ വേർതിരിവ് ആവശ്യമുള്ള അല്ലെങ്കിൽ പ്രത്യേക ഫയൽ സിസ്റ്റം സ്റ്റോറേജും അല്ലെങ്കിൽ പ്രത്യേക ഹോസ്റ്റ് ബൗണ്ടറിയും ആവശ്യമുള്ള ഉപഭോക്താക്കൾക്കായി സോവറൈൻ ഐസൊലേഷൻ (sovereign isolation) ഉപയോഗിക്കുക.

ഓരോ സോവറൈൻ ടെനന്റിനും ഉണ്ടായിരിക്കണം:

  • ഹോസ്റ്റിന് അംഗീകരിച്ച ഒരു പ്രത്യേക ടെനന്റ് ഡാറ്റാബേസ് അല്ലെങ്കിൽ ഡാറ്റാബേസ് പ്രിഫിക്സ് തന്ത്രം.
  • ഒരു പ്രത്യേക ടെനന്റ് ഫയൽ സിസ്റ്റം റൂട്ട്.
  • സൈറ്റിനെ അതിന്റെ ഡാറ്റാബേസ്, റൂട്ട് പാത്ത്, ഹോസ്റ്റ് നെയിം, ഐസൊലേഷൻ മോഡൽ എന്നിവയുമായി ബന്ധിപ്പിക്കുന്ന ഒരു ടെനന്റ് രജിസ്ട്രി എൻട്രി.
  • ടെനന്റ് ലൈവ് ആകുന്നതിന് മുമ്പ് ഒരു മൈഗ്രേഷൻ വെരിഫിക്കേഷൻ റിസൾട്ട്.

ഡാറ്റാബേസ് ഹോസ്റ്റ് ബൈൻഡിംഗ് (Database host binding)

സോവറൈൻ ഇൻസ്റ്റാളേഷനുകൾക്ക് ഡിഫോൾട്ടായി സമാന മെഷീൻ ഹോസ്റ്റ് ബൈൻഡിംഗ് പെരുമാറ്റം മാറ്റുന്നു. localhost പോലുള്ള സമാന മെഷീൻ മൂല്യങ്ങൾ Bedrock, FrankenPHP, കൂടാതെ കൺടეയിനർ ചെയ്ത WordPress ഇൻസ്റ്റാളേഷനുകൾക്ക് MySQL യഥാർത്ഥത്തിൽ കാണുന്ന ഹോസ്റ്റ് സ്ട്രിംഗിന് അനുമതി നൽകാനും പരിശോധിക്കാനും സഹായിക്കുന്ന രീതിയിൽ സാധാരണ നിലയിലാക്കുന്നു.

ഒരു സോവറൈൻ ടെനന്റ് കോൺഫിഗർ ചെയ്യുമ്പോൾ:

  1. ടെനന്റ് റ runtime ആവശ്യപ്പെടുന്ന മൂല്യത്തിലേക്ക് ഡാറ്റാബേസ് ഹോസ്റ്റ് സെറ്റ് ചെയ്യുക.
  2. ഹോസ്റ്റ് ലോക്കൽ കണക്ഷനുകൾ പ്രതീക്ഷിക്കുമ്പോൾ ലോക്കൽ സോക്കറ്റ് ഇൻസ്റ്റാളേഷനുകൾക്കായി localhost ഉപയോഗിക്കുക.
  3. ഡാറ്റാബേസ് സെർവർ ആ ഹോസ്റ്റിന് പ്രിവിലേജുകൾ നൽകുന്നുണ്ടെങ്കിൽ മാത്രം 127.0.0.1 അല്ലെങ്കിൽ ഒരു സർവീസ് ഹോസ്റ്റ് നെയിം ഉപയോഗിക്കുക.
  4. ഹോസ്റ്റ് ബൈൻഡിംഗ് മാറ്റിയ ശേഷം മൈഗ്രേഷൻ വെരിഫിക്കേഷൻ പ്രവർത്തിപ്പിക്കുക.

വെരിഫിക്കേഷൻ റിപ്പോർട്ടുകൾ ഗ്രാന്റ് പരാജയങ്ങൾ കാണിക്കുന്നുണ്ടെങ്കിൽ, ടെനന്റ് DB യൂസർ ഗ്രാന്റുകളെ കോൺഫിഗർ ചെയ്ത ഹോസ്റ്റ് ബൈൻഡിംഗുമായി താരതമ്യം ചെയ്യുക. user@localhost എന്നതിന് നൽകുന്ന ഒരു ഉപയോക്താവ് [email protected] അല്ലെങ്കിൽ user@% എന്നിവയിൽ നിന്ന് വ്യത്യസ്തമാണ്.

ഫയൽ സിസ്റ്റം റൂട്ട് (Filesystem root)

ടെനന്റ് റൂട്ട് പുനരാരംഭിക്കുമ്പോഴും ഡিপ്ലoys ചെയ്യുമ്പോഴും സ്ഥിരമായിരിക്കണം. താൽക്കാലിക mount പാതകൾ ഒഴിവാക്കുക. Bedrock ശൈലിയിലുള്ള ഇൻസ്റ്റാളേഷനുകൾക്കായി, ടെനന്റ് റൂട്ട് പ്രോജക്റ്റ് റൂട്ടിന് മാത്രമല്ല, ടെനന്റ് ബൂട്ട്‌സ്‌ട്രോപ്പ് പ്രതീക്ഷിക്കുന്ന വോർഡപ്രസ് വെബ് റൂട്ടിലേക്ക് പോയിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.

നൽകുന്ന ക്രമം (Provisioning order)

പുതിയ പരമാധികാര ടെനന്റുകൾക്കായി ഈ ക്രമം ഉപയോഗിക്കുക:

  1. ടെനന്റ് രജിസ്ട്രി എൻട്രി സൃഷ്ടിക്കുക.
  2. ടെനന്റ് ഡാറ്റാബേസ്, ഡാറ്റാബേസ് യൂസർ എന്നിവ സൃഷ്ടിക്കുക.
  3. ടെനന്റ് സ്കീമ സൃഷ്ടിക്കുക (Bootstrap ചെയ്യുക).
  4. ടെനന്റ് ഉപയോക്താക്കളെ നൽകുക.
  5. ടെനന്റ് ഫയൽസിസ്റ്റം പാതകൾ ക്രമീകരിക്കുക.
  6. മൈഗ്രേഷൻ പരിശോധന പ്രവർത്തിപ്പിക്കുക.
  7. പരിശോധന വിജയിച്ച ശേഷം റൂട്ടിംഗ് അല്ലെങ്കിൽ DNS മാറ്റുക.

ഈ ക്രമം ഡാറ്റാബേസ് എഴുത്തുകാരൻ (writer), ഉപയോക്താക്കൾ, ഫയൽസിസ്റ്റം എന്നിവ തയ്യാറാകുന്നതിന് മുമ്പ് ഭാഗികമായി ഒറ്റപ്പെട്ട ടെനന്റുകൾക്ക് ട്രാഫിക് ലഭിക്കുന്നത് തടയുന്നു.

പരമാധികാര കസ്റ്റമർ മാനേജ്‌മെന്റ് പ്രവാഹങ്ങൾ (Sovereign customer management flows)

പരമാധികാര മോഡ് പ്രവർത്തനക്ഷമമാക്കുമ്പോൾ, Ultimate Multisite v2.13.0 ഉപഭോക്തൃ മാനേജ്‌മെന്റ് പ്രവർത്തനങ്ങളെ പ്രധാന സൈറ്റിൽ തന്നെ നിലനിർത്തുന്നു. ഒരു ടെനന്റ് ഒറ്റപ്പെട്ട വോർഡപ്രസ് ഇൻസ്റ്റാളേഷനായി പ്രവർത്തിക്കാൻ സാധിക്കും, പക്ഷേ നെറ്റ്‌വർക്ക് ബില്ലിംഗ്, അംഗത്വം അല്ലെങ്കിൽ പങ്കുവെച്ച അക്കൗണ്ട് ഡാറ്റ എന്നിവയെ ആശ്രയിക്കുന്ന ഉപഭോക്തൃ അഭിമുഖ പ്രവർത്തനങ്ങൾ ടെനന്റ് റ runtime-ൽ പൂർത്തിയാക്കാൻ ശ്രമിക്കുന്നതിന് പകരം ഉപഭോക്താവിനെ പ്രധാന സൈറ്റിലേക്ക് തിരികെ അയക്കണം.

പ്രധാന സൈറ്റ് പ്രവാഹങ്ങൾ ബാധിക്കുന്നത് താഴെ പറയുന്നവയാണ്:

  • ചെക്ക്ഔട്ട്, പ്ലാൻ മാറ്റങ്ങൾ.
  • അക്കൗണ്ട് അവലോകനം, ഉപഭോക്തൃ പ്രൊഫൈൽ പ്രവർത്തനങ്ങൾ.
  • ബില്ലിംഗ് വിലാസം അപ്‌ഡേറ്റുകൾ, പേയ്‌മെന്റ് മാനേജ്‌മെന്റ് സ്ക്രീനുകൾ.
  • ഇൻവോയ്സ്, പേയ്‌മെന്റ് ചരിത്ര കാഴ്ചകൾ.
  • സൈറ്റുകൾ ചേർക്കുകയോ സൈറ്റ് ഡിലീറ്റ് ചെയ്യുകയോ ചെയ്യുന്നതുപോലുള്ള സൈറ്റ് മാനേജ്‌മെന്റ് പ്രവർത്തനങ്ങൾ.
  • ടെംപ്ലേറ്റ് മാറ്റങ്ങൾ.
  • ഡൊമെയ്ൻ മാപ്പിംഗ്, പ്രൈമറി-ഡൊമെയ്ൻ മാറ്റങ്ങൾ.

ഒരു സോവറൈൻ ടെനന്റ് (sovereign tenant) വഴി ഉപഭോക്താവ് ഈ പ്രവർത്തനങ്ങളിൽ ഏതെങ്കിലും ഒന്ന് ആരംഭിക്കുമ്പോൾ, Ultimate Multisite അതിന് അനുയോജ്യമായ മെയിൻ-സൈറ്റ് URL നിർമ്മിക്കുകയും സുരക്ഷിതമാണെങ്കിൽ സ്രോതസ്സ് ടെനന്റിനെ ഒരു തിരികെ ലക്ഷ്യസ്ഥാനമായി (return target) നിലനിർത്തുകയും ചെയ്യുന്നു. ഇത് ഉപഭോക്താക്കൾക്ക് നെറ്റ്‌വർക്ക് രേഖകൾക്കെതിരെ മാനേജ് ചെയ്ത പ്രവർത്തനം പൂർത്തിയാക്കാൻ ഇത് അനുവദിക്കുന്നു, അതിനുശേഷം ബില്ലിംഗ് അല്ലെങ്കിൽ മെമ്പർഷിപ്പ് സ്റ്റേറ്റ് സോവറൈൻ ഡാറ്റാബേസിൽ ആവർത്തിച്ച് സൃഷ്ടിക്കാതെ ടെനന്റ് സന്ദർഭത്തിലേക്ക് മടങ്ങാൻ സാധിക്കും.

ഓപ്പറേറ്റർമാർക്കുള്ള പ്രായോഗിക നിയമം ഇതാണ്: സോവറൈൻ നെറ്റ്‌വർക്കുകൾക്കായി ബില്ലിംഗ്, അക്കൗണ്ട്, ചെക്ക്ഔട്ട്, ഇൻവോയ്സ്, ടെംപ്ലേറ്റ്, ഡൊമെയ്ൻ മാനേജ്‌മെന്റ് പേജുകൾ മെയിൻ സൈറ്റിൽ ലഭ്യമായി സൂക്ഷിക്കുക. ടെനന്റ് ഡാഷ്‌ബോർഡുകൾ ആ പേജുകളിലേക്ക് ലിങ്ക് ചെയ്യാവുന്നതാണ്, പക്ഷേ ആ പ്രവർത്തനത്തിന്റെ അടിസ്ഥാന സത്യം (source of truth) മെയിൻ സൈറ്റ് തന്നെയായിരിക്കും.