ഒരു വോയ്‌സ്-റൂട്ടിംഗ് സിസ്റ്റം പരിശോധിച്ചുകൊണ്ടിരുന്ന ഒരു ഡെവലപ്പർ, പരാജയപ്പെട്ടതിന് ശേഷം അടുത്ത കോൾ മറ്റൊരു പാത ഉപയോഗിക്കാൻ നിർബന്ധിക്കുന്ന ഒരു താൽക്കാലിക ക്വാറന്റൈൻ (quarantine) സംവിധാനം ചേർത്തു. ഇത് 300 സെക്കൻഡ് നേരത്തേക്ക് നിലനിൽക്കും. ഈ മാറ്റം സോഫ്റ്റ്‌വെയർ ഒരേ തകരാറുള്ള റൂട്ട് വീണ്ടും വീണ്ടും പരീക്ഷിക്കുന്നത് തടയുകയും, അതുവഴി വലിയ തോതിലുള്ള സേവന തടസ്സങ്ങൾ (cascade outage) ഒഴിവാക്കുകയും ചെയ്യുന്നു.

പഴയ ലോജിക് എന്തുകൊണ്ട് ഒരു പ്രശ്നമായിരുന്നു

പഴയ റൂട്ടർ ഒരു കർശനമായ നിയമം പാലിച്ചിരുന്നു: ഒരു വർക്ക്സ്റ്റേഷൻ തിരക്കിലായിരിക്കുമ്പോൾ, അത് വീണ്ടും അതേ പാത തന്നെ പരീക്ഷിക്കുമായിരുന്നു. ആ പാത പരാജയപ്പെട്ടുകൊണ്ടിരുന്നാൽ, സിസ്റ്റം ആ പിശക് രേഖപ്പെടുത്തുമെങ്കിലും അതിന്റെ പ്രവർത്തനരീതിയിൽ മാറ്റം വരുത്തില്ലായിരുന്നു. പ്രായോഗികമായി പറഞ്ഞാൽ, സോഫ്റ്റ്‌വെയർ ഒരേ തകരാറുള്ള പാതയിലൂടെ തന്നെ വീണ്ടും വീണ്ടും ശ്രമിച്ചുകൊണ്ടിരുന്നതിനാൽ, ഒരു ചെറിയ തകരാർ പോലും കോളുകൾ തടസ്സപ്പെടുത്താൻ കാരണമായേക്കാം.

പുതിയ ക്വാറന്റൈൻ സംവിധാനം

ഈ അപ്‌ഡേറ്റ് മൂന്ന് നിയന്ത്രണങ്ങൾ ചേർക്കുന്നു:

  • സ്ഥിരമല്ല – ചെറിയൊരു സമയത്തിന് ശേഷം ക്വാറന്റൈൻ മാർക്കർ അവസാനിക്കുന്നു.
  • ഗ്ലോബൽ അല്ല – ഇത് പരാജയപ്പെട്ട പ്രത്യേക പാതയ്ക്ക് മാത്രമാണ് ബാധകമാകുന്നത്, എല്ലാ റൂട്ടുകൾക്കും അല്ല.
  • പരിമിതമായ മെമ്മറി – സിസ്റ്റം പരാജയം ഒരു ലോക്കൽ ഫയലിൽ രേഖപ്പെടുത്തുകയും, പുതിയൊരു പാത വിജയകരമായാൽ അത് ഒഴിവാക്കുകയും ചെയ്യുന്നു.

ഒരു സ്പീച്ച് അറ്റംപ്റ്റ് പരാജയപ്പെടുമ്പോൾ, റൂട്ടർ ആ പാതയ്ക്കായി ഒരു “quarantined” ഫ്ലാഗ് രേഖപ്പെടുത്തുന്നു. അടുത്ത 300 സെക്കൻഡ് നേരത്തേക്ക്, വരുന്ന എല്ലാ റിക്വസ്റ്റുകളും സ്വയമേവ മറ്റൊരു പാതയിലേക്ക് റീറൂട്ട് ചെയ്യപ്പെടുന്നു. മറ്റൊരു റൂട്ടിലൂടെ ഒരു റിക്വസ്റ്റ് വിജയിച്ചാലുടൻ, ആ ഫ്ലാഗ് നീക്കം ചെയ്യപ്പെടുന്നു; ഇത് പരിഹാരം ആവശ്യമുള്ളതിലും കൂടുതൽ നീണ്ടുപോകാതിരിക്കാൻ സഹായിക്കുന്നു.

ഗുണങ്ങളും ദോഷങ്ങളും

ഇതിന്റെ പ്രധാന നേട്ടം സിസ്റ്റത്തിന്റെ കരുത്താണ് (resilience): ചെറിയ തകരാറുകൾ ഇനി ഒരു മുഴുവൻ സേവനത്തെയും തകർക്കില്ല. ക്വാറന്റൈൻ അഞ്ച് മിനിറ്റായി പരിമിതപ്പെടുത്തുന്നതിലൂടെ, നെറ്റ്‌വർക്കിന് വീണ്ടെടുക്കാൻ സമയം നൽകുന്നതോടൊപ്പം തന്നെ ദീർഘകാല സേവന നഷ്ടവും സിസ്റ്റം ഒഴിവാക്കുന്നു.

ഈ രീതിയിൽ ചില റിസ്കുകളും ഉണ്ട്. ചെറിയൊരു നെറ്റ്‌വർക്ക് തടസ്സം പോലും ക്വാറന്റൈൻ പ്രവർത്തനത്തിന് കാരണമാവുകയും, കോളുകൾ കുറഞ്ഞ ഗുണനിലവാരമുള്ള പാതകളിലൂടെ കൊണ്ടുപോകുകയും ചെയ്തേക്കാം; ഇത് ലേറ്റൻസി (latency) അല്ലെങ്കിൽ ചിലവ് വർദ്ധിപ്പിക്കാൻ കാരണമാകും. ബദൽ പാതയും തകരാറിലായാൽ, സിസ്റ്റം റൂട്ടുകൾക്കിടയിൽ അസ്ഥിരമായി മാറാൻ സാധ്യതയുണ്ട്. റീറൂട്ടിംഗ് എന്നത് മനഃപൂർവ്വമാണോ അതോ വലിയൊരു പ്രശ്നത്തിന്റെ ലക്ഷണമാണോ എന്ന് തിരിച്ചറിയാൻ ഓപ്പറേറ്റർമാർക്ക് ക്വാറന്റൈൻ മാർക്കറുകളെക്കുറിച്ച് വ്യക്തമായ ധാരണ ഉണ്ടായിരിക്കണം.

ശ്രദ്ധിക്കേണ്ട കാര്യങ്ങൾ

  • Metrics: 300 സെക്കൻഡ് എന്ന സമയം അനുയോജ്യമാണോ എന്ന് അറിയാൻ ക്വാറന്റൈനുകളുടെ ആവൃത്തിയും (frequency) ദൈർഘ്യവും നിരീക്ഷിക്കുക.
  • Scope: സ്റ്റാറ്റിക് റീട്രൈ പാറ്റേണുകൾ മൂലം ബുദ്ധിമുട്ടുന്ന മറ്റ് സേവനങ്ങളിലേക്കും ഈ ലോജിക് വ്യാപിപ്പിക്കാൻ ടീമുകൾ ശ്രമിച്ചേക്കാം.
  • Automation: ഉപയോക്താക്കൾ പ്രശ്നം ശ്രദ്ധിക്കുന്നതിന് മുമ്പ് തന്നെ മുൻകരുതൽ നടപടികൾ സ്വീകരിക്കുന്നതിനായി, ഒരു പാത ആവർത്തിച്ച് ക്വാറന്റൈനിൽ എത്തുമ്പോൾ അലേർട്ടുകൾ ചേർക്കുക.

ഇതിലെ പ്രധാന പാഠം ലളിതമാണ്: തങ്ങളുടെ സമീപകാല പരാജയങ്ങൾ രേഖപ്പെടുത്താത്ത ഒരു സിസ്റ്റത്തിന് മാറിക്കൊണ്ടിരിക്കുന്ന സാഹചര്യങ്ങളോട് പൊരുത്തപ്പെടാൻ കഴിയില്ല. പരാജയങ്ങളുടെ ചരിത്രം ലഭ്യമാക്കുകയും അതിനനുസരിച്ച് താൽക്കാലികമായി പ്രവർത്തിക്കുകയും ചെയ്യുന്നതിലൂടെ, വലിയ രീതിയിലുള്ള പുനർരൂപകൽപ്പനയ്ക്കായി കാത്തുനിൽക്കാതെ തന്നെ വോയ്‌സ് സേവനങ്ങൾ സുഗമമായി നിലനിർത്താൻ എഞ്ചിനീയർമാർക്ക് സാധിക്കുന്നു.

ഉറവിടം: dev.to-ലെ യഥാർത്ഥ ഡെവലപ്പർ പോസ്റ്റ്.

ചർച്ചയിൽ പങ്കുചേരുക: https://t.me/GyaanSetuAi