Skip Ribbon Commands
Skip to main content

​​​​​​​

ആപ്പ് സെര്‍വറുകളുടെ സ്ലോട്ടുകള്‍ക്കിടയില്‍ സ്വാപ്പിങ്ങ് നടത്തുമ്പോഴുള്ള ഡാറ്റാബേസ് കണക്ഷന്‍ സ്ട്രിങ്ങ്

    

ഉയര്‍ന്ന അളവില്‍ ട്രാഫിക് കൈകാര്യം ചെയ്യുന്നതും ഒരു ഡാറ്റാബേസ് ആക്സസ് ചെയ്യുന്നതുമായ ഒരു അഷ്വര്‍ ആപ്പ് സര്‍വ്വീസ് വെബ് ആപ്പ് നിങ്ങള്‍ക്കുണ്ടെന്ന് സങ്കല്‍പ്പിക്കുക. അതിന്‍റെ രൂപഘടന ചിത്രം 1 ല്‍ കാണിച്ചിരിക്കുന്നത് പോലെയാണ്. നിങ്ങള്‍ ഒരു ഡിപ്ലോയ്മെന്‍റ് നടത്തുമ്പോള്‍ ബഗ്ഗുകള്‍ ഡിപ്ലോയ് ചെയ്യുന്നതിന്‍റെ റിസ്ക് ഏറ്റെടുക്കാനോ അല്ലെങ്കില്‍ പുതിയ റിലീസ് ഡിപ്ലോയ് ചെയ്യുമ്പോള്‍ ഗണ്യമായ ഡൗണ്‍ടൈം സമയം ഉണ്ടാകുന്നതോ നിങ്ങള്‍ ഇഷ്ടപ്പെടുന്നുണ്ടാകില്ല. ഇതാണ് ഒരു ഡിപ്ലോയ്മെന്‍റ് സ്ലോട്ടില്‍ നിങ്ങള്‍ക്ക് ഉണ്ടായിരിക്കേണ്ടത്. ഒരു ഡിപ്ലോയ്മെന്‍റ് സ്ലോട്ട് എന്നത് ഒരു അധിക അഷ്വര്‍ ആപ്പ് സര്‍വ്വീസ് വെബ്ബ് ആപ്പ് മാതൃക(W3WP) ആണ്. അത് നിങ്ങളുടെ പ്രൊഡക്ഷന്‍ ആപ്പ് സര്‍വ്വീസ് വെബ്ബ് ആപ്പിനെ അതേ പേരില്‍ തന്നെ പരിമിതപ്പെടുത്തുകയും, ഞാന്‍ ഇവിടെ   ചര്‍ച്ച ചെയ്യുന്ന അതേ ആപ്പ് സര്‍വ്വീസ് പ്ലാനില്‍ (ASP) റണ്‍ ചെയ്യുകയും ചെയ്യും. ഡെവലപ്മെന്‍റ് സ്ലോട്ട് നിങ്ങളുടെ ടെസ്റ്റ് വിന്യസിക്കാന്‍ അല്ലെങ്കില്‍ ലൈവ് വെബ് ആപ്പ് റിലീസിന് മുമ്പ് നോണ്‍-പ്രൊഡക്ഷന്‍ റെഡി കോഡ് ടെസ്റ്റ് ചെയ്യുന്നതിന് നിങ്ങളെ അനുവദിക്കും. ഡിപ്ലോയ്മെന്‍റ് സ്ലോട്ടിന്‍റെ സൗന്ദര്യം എന്നത്, ഒരു ബട്ടണ്‍ വൈദഗ്യത്തോടെ ഉപയോഗിക്കുകയും, പുതിയ വേര്‍ഷനുള്ള ഡിപ്ലോയ്മെന്‍റ് സ്ലോട്ട് പ്രൊഡക്ഷനുമായി സ്വാപ്പ് ചെയ്യുകയും ഒറ്റ ക്ലിക്കില്‍ പുതിയ വേര്‍ഷന്‍ ലൈവ് ആക്കുകയും ചെയ്യും എന്നതാണ്.

ചിത്രം 1 ല്‍  ഒരു SQL സെര്‍വര്‍ ഉള്ളതില്‍ 2 SQL അഷ്വര്‍ ഡാറ്റബേസുകളുണ്ട് എന്നത് ശ്രദ്ധിക്കുക, ഒരെണ്ണത്തെ stickyslot-pro എന്നും മറ്റേതിനെ  stickyslot-tst എന്നുമാണ് വിളിക്കുന്നത് കൂടാതെ,  STICKYSLOT-ASP എന്ന് വിളിക്കുന്ന ഒരു ആപ്പ് സര്‍വ്വീസ് പ്ലാനുമുണ്ട്(ASP). അതാണ് stickyslot എന്ന് വിളിക്കപ്പെടുന്ന വെബ്ബ് ആപ്പ് testing എന്ന് പേരുള്ള ഡിപ്ലോയ്മെന്‍റ് സ്ലോട്ടിനൊപ്പം ഒരു അഷ്വര്‍ ആപ്പ് സര്‍വ്വീസ് വെബ്ബ് ആപ്പ റണ്‍ ചെയ്യുന്നത്. അവയെല്ലാം STICKSLOT-RG എന്ന് വിളിക്കപ്പെടുന്ന ഒരു റിസോഴ്സ് ഗ്രൂപ്പില്‍ ഉള്‍പ്പെടുന്നതാണ്.

 


 

 
 

ചിത്രം  1, മികച്ച കേസ്, ആപ്പ് സര്‍വ്വീസ് ആര്‍ക്കിടെക്ചര്‍ ഡയഗ്രം

ഇവിടെ സ്റ്റിക്കി സ്ലോട്ടുകളെക്കുറിച്ച് ചര്‍ച്ച ചെയ്യുന്ന വളരെ നല്ല ഒരു ലേഖനം ഉണ്ട്.  

ഈ ലേഖനത്തില്‍ PRO (പ്രൊഡക്ഷന്‍) ല്‍ നിന്ന് TST (ഒരു ടെസ്റ്റിങ്ങ് മാതൃക)യിലേക്കുള്ള അഷ്വര്‍ ആപ്പ് സര്‍വ്വീസ് വെബ്ബ് ആപ്പ് ഡിപ്ലോയ്മെന്‍റ് ആപ്പുകളുടെ സ്ലോട്ടുകള്‍ സ്വാപ്പ് ചെയ്യുന്നതാണ് ഞാന്‍ പരാമര്‍ശിക്കുന്നത്. ഇതിന്‍റെ വസ്തുത എന്നത്, ഡിഫോള്‍ട്ടായി ആപ്പ് ക്രമീകരണങ്ങളും ഡാറ്റാബേസ് കണക്ഷന്‍ സ്ട്രിങ്ങുകളും സ്ലോട്ടില്‍ സ്റ്റിക്കിയല്ല, കൂടാതെ ടെസ്റ്റ് സ്ലോട്ട് പ്രൊഡക്ഷഷന്‍ സ്ലോട്ടില്‍ സ്വാപ്പ് ചെയ്യുമ്പോള്‍ സ്ലോട്ട് വെബ്ബ് ആപ്പിനെ ഫോളോ ചെയ്യുകയും ചെയ്യും എന്നതാണ്. ഈ സാഹചര്യത്തില്‍ ഞാന്‍ എന്‍റെ testing ഡിപ്ലോയ്മെന്‍റ് സ്ലോട്ട് സ്വാപ്പ് ചെയ്യുമ്പോള്‍ അത്, stickslot-tst ഡാറ്റാബോസില്‍ നിന്ന് പ്രൊഡക്ഷനിലേക്ക് ഡാറ്റ നേടും. അത് stickyslot-pro ഡാറ്റാബേസിന് പകരം stickyslot-tst ഡാറ്റാബേസിലേക്ക് സ്വാപ്പ് ചെയ്ത വെബ്ബ് ആപ്പ് പോയിന്‍റ് ചെയ്യും. അതുകൊണ്ട് വെബ്ബ് ആപ്പ് ഡെവലപ്മെന്‍റ് സ്ലോട്ടുകള്‍ സ്വാപ്പ് ചെയ്യാന്‍ എനിക്ക് ഒരു മാര്‍ഗ്ഗം ആവശ്യമാണ്. പക്ഷേ ടെസ്റ്റിങ്ങ് ഡാറ്റാബേസിലേക്ക് പോയിന്‍റ് ചെയ്യുന്ന ടെസ്റ്റിങ്ങും പ്രൊഡക്ഷനിലേക്ക് പോയിന്‍റ് ചെയ്യുന്ന നിലവിലുള്ള പ്രൊഡക്ഷന്‍ വെബ്ബ് ആപ്പും ഡാറ്റാബേസ് കണക്ഷനെ നിലനിര്‍ത്തണം. ക്രമീകരണത്തില്‍ ‘sticky to the slot’ എന്ന് മാറ്റി ഇത് സാധ്യമാക്കാവുന്നതാണ്.

എന്‍റെ പ്രൊഡക്ഷന്‍ വെബ്ബ് ആപ്പിന് വേണ്ടി എനിക്ക് രണ്ട് വാല്യുകളുണ്ട്. ഞാന്‍ സ്വാപ്പ് ചെയ്യുമ്പോള്‍ ‘production’ നിലനില്‍ക്കണമെന്നാണ് ഞാന്‍ ആഗ്രഹിക്കുന്നത് ചിത്രം 2 കാണുക

.

 
 

ചിത്രം 2, ഒരു ടെസ്റ്റിങ്ങ് സ്ലോട്ട് വഴി സ്വാപ്പ് ചെയ്തിട്ടും സ്റ്റിക്കി സ്ലോട്ട് ക്രമീകരണങ്ങള്‍ പ്രൊഡക്ഷനില്‍ അവശേഷിക്കുന്നു

 Value = ProductionEnvironment എന്ന വാല്യുവുള്ള STICKSLOT എന്ന് പേരുള്ള ഒരു ആപ്പ് ക്രമീകരണവും, പ്രൊഡക്ഷന്‍ ഡാറ്റാബേസ് പേര്, യൂസര്‍ ഐഡിയും പാസ്‍വേഡും എന്നിവ ഉദാഹരണമായുള്ള StickySlotConnectionString  എന്ന് വിളിക്കുന്ന ഒരു കണക്ഷന്‍ സ്ട്രിങ്ങും ഉള്ളത് ശ്രദ്ധിക്കുക. ഏറ്റവും പ്രധാനമായി, സ്ലോട്ട് സെറ്റിങ്ങ് ചെക്ക് ബോക്സ് സെലക്ട് ചെയ്തിട്ടുണ്ട് എന്നത് ശ്രദ്ധിക്കുക. ഇത് വെബ്ബ് ആപ്പിനൊപ്പം അവശേഷിക്കും. സ്വാപ്പ് ചെയ്യുമ്പോള്‍ നീക്കം ചെയ്യപ്പെടില്ല എന്നാണ് അതിന്‍റെ അര്‍ത്ഥം. ടെസ്റ്റിങ്ങ് ഡെവലപ്മെന്‍റ് സ്ലോട്ടില്‍, ചിത്രം 3 കാണുക, ഞാന്‍ അതേ ആപ്പ് സെറ്റിങ്ങും കണക്ഷന്‍ സ്ട്രിങ്ങും (കീയും പേരും) നല്‍കിയതും ശ്രദ്ധിക്കുക. എന്നാല്‍ അവയ്ക്ക് വ്യത്യസ്ഥ വാല്യുകളാണ് ഉള്ളത്. കൂടാതെ സ്ലോട്ട് സെറ്റിങ്ങ് ചെക്ക്ബോക്സ് ചെക്ക് ചെയ്തിട്ടുള്ളതിനാല്‍, ഇത് വെബ്ബ് ആപ്പ് ടെസ്റ്റിങ്ങില്‍ അവശേഷിക്കും. പ്രൊഡക്ഷന്‍ എന്‍വയോണ്‍മെന്‍റിലേക്ക് ഒരിക്കലും എന്‍റെ ടെസ്റ്റിങ്ങ് വെബ്ബ് ആപ്പ്  പോയിന്‍റ് ചെയ്യാന്‍ സാധിക്കില്ല.

 
 
 

ചിത്രം 3, ഒരു പ്രൊഡക്ഷന്‍ സ്ലോട്ട് വഴി സ്വാപ്പ് ചെയ്തിട്ടും സ്റ്റിക്കി സ്ലോട്ട് ക്രമീകരണങ്ങള്‍ പ്രൊഡക്ഷനില്‍ അവശേഷിക്കുന്നു

ഞാന്‍ ഒരു അധിക ആപ്പ് ക്രമീകരണമായ, MoveWhenSwapped ചേര്‍ത്തിരിക്കുന്നു. അത് ഞാന്‍ സ്റ്റിക്കി ആയി നിര്‍മ്മിച്ചിട്ടില്ല. അതായത്, ഇത് സ്വാപ്പിനൊപ്പം മാറും. അതുകൊണ്ട്, ഞാന്‍ പ്രൊഡക്ഷനും ടെസ്റ്റും സ്വാപ്പ് ചെയ്യുമ്പോള്‍, ആപ്പ് ക്രമീകരണം പ്രൊഡക്ഷന്‍ വെബ് ആപ്പ് കോണ്‍ഫിഗുറേഷനിലാണ് ഉണ്ടായിരിക്കുക, ടെസ്റ്റിങ്ങിലല്ല. എല്ലാം ടെസ്റ്റ് ചെയ്യുകയും ടെസ്റ്റിങ്ങ് എന്‍വയോണ്‍മെന്‍റില്‍ പ്രൊഡക്ഷന് തയ്യാറാവുകയും ചെയ്താല്‍ ടെസ്റ്റിങ്ങ് വെബ് ആപ്പിലേക്ക് നാവിഗേറ്റ് ചെയ്യുകയും സ്വാപ് ലിങ്കില്‍, ചിത്രം 4 ല്‍ കാണിച്ചിരിക്കുന്നത് പോലെ ക്ലിക്ക് ചെയ്യുകയും ചെയ്യുക
 
 

ചിത്രം 4, സ്വാപ് അഷ്വര്‍ ആപ്പ് സര്‍വ്വീസ് വെബ്ബ് ആപ്പ് സ്ലോട്ടുകള്‍ക്കിടയില്‍, സ്റ്റിക്കി സ്ലോട്ടുകള്‍

“swap with preview” എന്ന മനോഹരമായ സംവിധാനത്തെക്കുറിച്ച് എഴുതിയത് ഇവിടെയുണ്ട്. അടിസ്ഥാനപരമായി ഈ സംവിധാനം നിങ്ങളുടെ ടെസ്റ്റിങ്ങ് എന്‍വയോണ്‍മെന്‍റ് പ്രൊഡക്ഷനിലേക്ക് പോയിന്‍റ് ചെയ്യുന്നതിന് അനുവദിക്കും. ഇത് നിങ്ങള്‍ യഥാര്‍ത്ഥ ട്രാഫിക്കിലേക്ക് കടക്കുന്നതിന് മുമ്പ് എല്ലാ പ്രതീക്ഷിക്കുന്നത് പോലെ പ്രവര്‍ത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പ് വരുത്തുന്നതിന് വേണ്ടിയാണ്.നിങ്ങള്‍ സ്വാപ് പൂര്‍ത്തിയാക്കിയിട്ടുണ്ട് അല്ലെങ്കില്‍ ഓരോ ലോഗിനും പ്രൊഡക്ഷനിലേക്ക് ടെസ്റ്റിങ്ങ് പോയിന്‍റ് നിലനിര്‍ത്തേണ്ടതില്ല എന്നതിനാല്‍ അത് തിരികെയാക്കിയിട്ടുണ്ട് എന്ന് ഉറപ്പ് വരുത്തുക.ഡിപ്ലോയ് ചെയ്യുമ്പോള്‍ ഡാറ്റാബേസിന്‍റെ രൂപഘടനയിലെ മാറ്റം പ്രൊഡക്ഷന്‍ എന്‍വയോണ്‍മെന്‍റിനെ തകര്‍ക്കുക, അപ്ഗ്രേഡ് ഇല്ലാതെ നിലവിലുള്ള പ്രൊഡക്ഷന്‍ ഡാറ്റാബേസില്‍ ടെസ്റ്റിങ്ങ് മാതൃക റണ്‍ ചെയ്യാതിരിക്കുക എന്നിവയുണ്ടെങ്കില്‍  എല്ലാ അവസരങ്ങളിലും ഇത് നടപ്പാകണമെന്നില്ല. എങ്കിലും JIC പരീക്ഷിക്കുക. എന്നിരുന്നാലും സ്വാപ്പ് നടത്തുകയും ആപ്പ് ക്രമീകരണങ്ങള്‍ക്കും കണക്ഷന്‍ സ്ട്രിങ്ങിനും പ്രതീക്ഷിച്ച ഫലം ആണ് എന്ന് ഉറപ്പാക്കുന്നതിന് പ്രൊഡക്ഷന്‍ വെബ്ബ് ആപ്പ് പരിശോധിക്കുകയും ചെയ്യുക.    

 
 
 

ചിത്രം 5, സ്റ്റിക്കി സ്ലോട്ട്സ് അഷ്വര്‍ ആപ്പ് സര്‍വ്വീസ് വെബ് ആപ്പ്, ആപ്പ് ക്രമീകരണങ്ങളും കണക്ഷന്‍ സ്ട്രിങ്ങുകളും

വാല്യുകള്‍ പ്രതീക്ഷിച്ചത് പോലെ ശേഷിക്കുകയും, MoveWhenSwapped ടെസ്റ്റിങ്ങില്‍ നിന്ന് പ്രൊഡക്ഷന്‍ വെബ്ബ് ആപ്പ് പ്രൊസസ്സിലേക്ക് മാറ്റുകയും ചെയ്തു.  WhenSwapped  മാറ്റിയെന്നതും ശ്രദ്ധിക്കുക. ടെസ്റ്റിങ്ങ് വെബ്ബ് ആപ്പില്‍ ഇത് നിലവിലില്ല എന്നാണ് ഇതിന്‍റെ അര്‍ത്ഥം. നിങ്ങളുടെ വെബ്ബ് ആപ്പ് സ്വാപ്പ് ചെയ്യാനും കണക്ഷന്‍ സ്ട്രിങ്ങ് നിലവിലുള്ളത് പോലെ നിലനില്‍ക്കാനും ആഗ്രഹമുണ്ടെങ്കില്‍, സ്ലോട്ട് സെറ്റിങ്ങ് ചെക്ക് ബോക്സ് തിരഞ്ഞെടുത്ത് സെറ്റിങ്ങ്സ് sticky ആയി മാര്‍ക്ക് ചെയ്യുകനിങ്ങള്‍ എല്ലാം ചെയ്തു കഴിഞ്ഞു.

നമുക്ക് അല്‍പ്പം വിശദമായി നോക്കാം

എനിക്ക് ചില ചോദ്യങ്ങള്‍ ഉണ്ട്:

  • എന്‍റെ കോഡില്‍ നിന്ന് എങ്ങനെയാണ് ഞാന്‍ കണക്ഷന്‍ സ്ട്രിങ്ങും ആപ്പ് സെറ്റിങ്ങുകളും സ്വീകരിക്കുക
  • എന്‍റെ web.config  ഫയലില്‍ ഒരു കണക്ഷന്‍ സ്ട്രിങ്ങ് ഉണ്ടായാല്‍ എന്ത് സംഭവിക്കും, രണ്ടും ഉണ്ടെങ്കില്‍ എന്ത് സംഭവിക്കും

 

ഈ ചോദ്യങ്ങള്‍ക്ക് ഉത്തരം നല്‍കാം.

എന്‍റെ കോഡില്‍ നിന്ന് എങ്ങനെ കണക്ഷന്‍ സ്ട്രിങ്ങും ആപ്പ് സെറ്റിങ്ങുകളും സ്വീകരിക്കാം

പോര്‍ട്ടലില്‍ കോണ്‍ഫിഗര്‍ ചെയ്ത വാല്യുവില്‍ നിന്ന് അല്ലെങ്കില്‍ web.config ല്‍ നിന്ന് സ്വീകരിക്കുന്നതിന് നിങ്ങള്‍ താഴെ കാണുന്ന കോഡ് ഉപയോഗിക്കണം.

ConfigurationManager.ConnectionStrings["StickySlotConnectionString"]?.ConnectionString;

 
കണക്ഷന്‍ സ്ട്രിങ്ങിന്‍റെ പേര് സ്വീകരിക്കുകയും വാല്യു തിരികെ എത്തുകയും ചെയ്യും.

ആപ്പ് സെറ്റിങ്ങ് വാല്യു സ്വീകരിക്കുന്നതിന്, താഴെ പറയുന്നത് ഉപയോഗിക്കുക.

ConfigurationManager.AppSettings["STICKYSLOT"];

 
എന്‍റെ web.config  ഫയലില്‍ ഒരു കണക്ഷന്‍ സ്ട്രിങ്ങ് ഉണ്ടായാല്‍ അല്ലെങ്കില്‍ എനിക്ക് രണ്ടും ഉണ്ടായാല്‍ എന്ത് സംഭവിക്കും​​

​​​
​​​​​​​​​​​​

Read More on....

​​​​​​​​​​​​​​​​
This site uses Unicode and Open Type fonts for Indic Languages. Powered by Microsoft SharePoint
©2017 Microsoft Corporation. All rights reserved.