ഗ്ലോബൽ നെറ്റ്വർക്ക് ലേറ്റൻസി വിവരിക്കുന്നു
ലേറ്റൻസി ആധുനിക സോഫ്റ്റ്വെയറുകളെ തകർക്കുന്നു. നെറ്റ്വർക്ക് തലത്തിലുള്ള ഒരു മില്ലിസെക്കൻഡ് താമസം പോലും നിങ്ങളുടെ ആപ്ലിക്കേഷനിൽ സെക്കന്റുകൾ നീണ്ടുനിൽക്കുന്ന ലാഗ് ഉണ്ടാക്കുന്നു. ഇത് റിയൽ-ടൈം ടൂളുകളുടെയും AI സ്ട്രീമിംഗിന്റെയും അനുഭവം നശിപ്പിക്കുന്നു.
മിക്ക എഞ്ചിനീയർമാരും ഇന്റർനെറ്റിനെ ഒരു മാന്ത്രിക മേഘമായി (magic cloud) കാണുന്നു. എന്നാൽ യാഥാർത്ഥ്യം ഭൗതികവും കർക്കശവുമാണ്.
പ്രകാശവേഗത്തിന്റെ പരിധി ഡാറ്റ സബ്മറൈൻ ഫൈബർ-ഒപ്റ്റിക് കേബിളുകളിലൂടെയാണ് സഞ്ചരിക്കുന്നത്. ശൂന്യതയേക്കാൾ സാവധാനത്തിലാണ് ഗ്ലാസിനുള്ളിലൂടെ പ്രകാശം സഞ്ചരിക്കുന്നത്. ഫൈബറിലൂടെ പ്രകാശം ഏകദേശം 204,500 km/s വേഗതയിലാണ് സഞ്ചരിക്കുന്നത്.
പസഫിക് സമുദ്രത്തിലൂടെയുള്ള 9,000 കിലോമീറ്റർ പാതയ്ക്ക് കുറഞ്ഞത് 88ms താമസം ഉണ്ടാകും. നിങ്ങൾക്ക് ഈ പരിധി മറികടക്കാൻ കഴിയില്ല. ഭൗതികശാസ്ത്രം നിങ്ങളുടെ പെർഫോമൻസിന് ഒരു പരിധി നിശ്ചയിച്ചിരിക്കുന്നു.
Anycast vs Unicast ഒരു Unicast നെറ്റ്വർക്കിൽ, ഓരോ സെർവറിനും ഒരു തനതായ IP ഉണ്ടായിരിക്കും. ലണ്ടനിലുള്ള ഒരു ഉപയോക്താവ് ന്യൂയോർക്കിലെ ഒരു സെർവറുമായി ബന്ധപ്പെട്ടാൽ, പാക്കറ്റുകൾ നിരവധി ഹോപ്പുകളിലൂടെ (hops) വലിയ ദൂരങ്ങൾ സഞ്ചരിക്കേണ്ടി വരും. ഇത് ഉയർന്ന ലേറ്റൻസിക്ക് കാരണമാകുന്നു.
Anycast ഇത് മാറ്റുന്നു. ഒരേ IP തന്നെ ഒന്നിലധികം എഡ്ജ് ലൊക്കേഷനുകൾക്ക് (edge locations) നിങ്ങൾക്ക് നൽകാം.
- BGP ഉപയോഗിച്ച് റൂട്ടറുകൾ ഏറ്റവും കുറഞ്ഞ പാത കണ്ടെത്തുന്നു.
- പാക്കറ്റുകൾ ഏറ്റവും അടുത്തുള്ള ഫിസിക്കൽ നോഡിലേക്ക് പോകുന്നു.
- കണക്ഷൻ ഉപയോക്താവിന് അടുത്തായി തന്നെ ആരംഭിക്കുന്നു. ഇത് നിങ്ങളുടെ നെറ്റ്വർക്കിനെ ഉപഭോക്താക്കൾക്ക് കൂടുതൽ അടുത്തേക്ക് എത്തിക്കുന്നു.
പാക്കറ്റ് ലോസ്സിന്റെ (Packet Loss) അപകടം 1% പാക്കറ്റ് ലോസ്സ് പ്രശ്നമില്ലെന്ന് പല അഡ്മിൻമാരും കരുതുന്നു. എന്നാൽ ഹൈ-സ്പീഡ് API-കളെ സംബന്ധിച്ചിടത്തോളം ഇത് ഒരു ദുരന്തമാണ്.
Cubic പോലുള്ള സ്റ്റാൻഡേർഡ് TCP പ്രോട്ടോക്കോളുകൾ പാക്കറ്റ് ലോസ്സിനെ കടുത്ത തിരക്ക് (congestion) ആയിട്ടാണ് കണക്കാക്കുന്നത്. ഒരു പാക്കറ്റ് നഷ്ടപ്പെട്ടാൽ, സിസ്റ്റം അതിന്റെ വേഗത 30% കുറയ്ക്കുന്നു. ആവർത്തിച്ചുള്ള പാക്കറ്റ് നഷ്ടം കണക്ഷനെ പൂർണ്ണ വേഗതയിൽ എത്താൻ അനുവദിക്കില്ല.
കണക്ഷൻ ടൈംഔട്ട് (timeout) ആയാൽ, കാത്തിരിപ്പ് സമയം ഓരോ തവണയും ഇരട്ടിയാകുന്നു. ചെറിയൊരു പാക്കറ്റ് നഷ്ടം പോലും ഒരു ആപ്ലിക്കേഷനെ സെക്കന്റുകൾ നേരത്തേക്ക് മരവിപ്പിക്കാൻ (freeze) കാരണമാകും.
ഇത് എങ്ങനെ പരിഹരിക്കാം ഈ പരിധികൾ മറികടക്കാൻ ആധുനിക ടീമുകൾ പ്രധാനമായും രണ്ട് ടൂളുകൾ ഉപയോഗിക്കുന്നു:
- BBR: ഓരോ പാക്കറ്റ് നഷ്ടപ്പെടുമ്പോഴും അന്ധമായി പ്രതികരിക്കുന്നതിന് പകരം, ഈ അൽഗോരിതം യഥാർത്ഥ ബാൻഡ്വിഡ്ത്ത് (bandwidth) അളക്കുന്നു. ഇത് വേഗത സ്ഥിരമായി നിലനിർത്തുന്നു.
- QUIC: ഈ പ്രോട്ടോക്കോൾ UDP-ക്ക് മുകളിലാണ് പ്രവർത്തിക്കുന്നത്. ഒരു പാക്കറ്റ് നഷ്ടപ്പെട്ടാലും മറ്റ് ഡാറ്റാ സ്ട്രീമുകൾ തടസ്സപ്പെടാതിരിക്കാൻ ഇത് സഹായിക്കുന്നു. പരമ്പരാഗത TCP-യിൽ കാണുന്ന ഫ്രീസ് (freeze) അവസ്ഥ ഇത് ഒഴിവാക്കുന്നു.
ഈ ഭൗതികവും റൂട്ടിംഗും സംബന്ധിച്ച നിയമങ്ങൾ മനസ്സിലാക്കുന്നത് വേഗതയേറിയ ആഗോള സംവിധാനങ്ങൾ നിർമ്മിക്കാൻ നിങ്ങളെ സഹായിക്കും.
ഉറവിടം: https://dev.to/taohuawu/demyst