નેટવર્ક લેટન્સી તમારી એપ્લિકેશનને કેવી રીતે નુકસાન પહોંચાડે છે

લેટન્સી (Latency) એ ડિસ્ટ્રિબ્યુટેડ સિસ્ટમ્સ અને APIs માટે એક છૂપો હત્યારો છે. ટ્રાન્સપોર્ટ લેયર પરનો એક નાનકડો વિલંબ એપ્લિકેશન લેયર પર મોટી સમસ્યાઓ ઊભી કરે છે. આનાથી રિયલ-ટાઇમ વેબ ટૂલ્સ અને AI સ્ટ્રીમિંગનો અનુભવ બગડી જાય છે.

તમે ઇન્ટરનેટના ભૌતિકશાસ્ત્ર (physics) ને અવગણી શકતા નથી.

પ્રકાશની ગતિની મર્યાદા (The Speed of Light Constraint)

ડેટા સમુદ્રના તળિયે રહેલા ફાઈબર-ઓપ્ટિક કેબલ્સ દ્વારા મુસાફરી કરે છે. શૂન્યાવકાશ (vacuum) કરતા કાચમાં પ્રકાશની ગતિ ધીમી હોય છે. ફાઈબરમાં પ્રકાશ આશરે 204,500 કિમી/સેકન્ડની ઝડપે મુસાફરી કરે છે.

જો તમે ટોક્યોથી સેન ફ્રાન્સિસ્કો સુધી ડેટા મોકલો છો, તો અંતર આશરે 9,000 કિમી છે. ભૌતિકશાસ્ત્ર મુજબ, આમાં ઓછામાં ઓછો 88ms નો રાઉન્ડ-ટ્રિપ સમય લાગે છે. તમે આ મર્યાદાને પાર કરી શકતા નથી. કોઈપણ રાઉટિંગ ભૂલ અથવા કન્જેશન (congestion) વધુ વિલંબ ઉમેરી શકે છે.

Anycast વિરુદ્ધ Unicast રાઉટિંગ

Unicast નેટવર્કમાં, દરેક સર્વર પાસે એક અનન્ય (unique) IP એડ્રેસ હોય છે. જો લંડનમાં રહેલો યુઝર ન્યૂયોર્ક સર્વરને એક્સેસ કરે છે, તો ડેટા ઘણા અણધાર્યા 'હોપ્સ' (hops) દ્વારા મુસાફરી કરે છે. આના કારણે લેટન્સીમાં અચાનક વધારો (spikes) થાય છે.

Anycast આ પરિસ્થિતિ બદલી નાખે છે. તમે વૈશ્વિક સ્તરે અનેક એજ ડેટા સેન્ટર્સને એક જ IP એડ્રેસ સોંપો છો.

• રાઉટર્સ BGP દ્વારા સૌથી ટૂંકો માર્ગ શોધે છે. • પેકેટ્સ સૌથી નજીકના ભૌતિક એજ નોડ (edge node) પર જાય છે. • કનેક્શન સેટઅપ એજ પર થાય છે, સમુદ્ર પાર નહીં.

આ તમારા નેટવર્ક પેરિમીટરને તમારા યુઝર્સની વધુ નજીક લાવે છે.

પેકેટ લોસ (Packet Loss) નું જોખમ

ઘણા એન્જિનિયરો માને છે કે 1% પેકેટ લોસ ઠીક છે. પણ તે નથી.

Cubic જેવા સ્ટાન્ડર્ડ TCP અલ્ગોરિધમ્સ એક પણ પેકેટ ગુમાવતા જ ગભરાઈ જાય છે. તેઓ કન્જેશન વિન્ડોને (congestion window) 30% ઘટાડી દે છે. જો પેકેટ લોસ ચાલુ રહે છે, તો તમારો 1 Gbps ફાઈબર લિંક જૂના ડાયલ-અપ કનેક્શન જેવો દેખાવ કરશે.

જો પેકેટ્સ વારંવાર ડ્રોપ થાય છે, તો સિસ્ટમ 'રીટ્રાન્સમિશન ટાઈમઆઉટ' (Retransmission Timeout) પર પહોંચી જાય છે. દરેક ટાઈમઆઉટ સાથે રાહ જોવાનો સમય બમણો થઈ જાય છે. નેટવર્કમાં નાની એવી ખામી પણ એપ્લિકેશનને કેટલાક સેકન્ડ માટે ફ્રીઝ કરી શકે છે.

આને સુધારવાની બે રીતો

આધુનિક ટીમો ઝડપ જાળવી રાખવા માટે આ બે પદ્ધતિઓનો ઉપયોગ કરે છે:

  • Google BBR: આ અલ્ગોરિધમ દરેક ગુમાવેલા પેકેટ પર પ્રતિક્રિયા આપવાને બદલે વાસ્તવિક બેન્ડવિડ્થ (bandwidth) માપે છે. તે સામાન્ય કન્જેશન દરમિયાન પણ થ્રુપુટ (throughput) ને સ્થિર રાખે છે.
  • QUIC પ્રોટોકોલ: આ 'હેડ-ઓફ-લાઇન બ્લોકિંગ' (head-of-line blocking) રોકવા માટે UDP પર ચાલે છે. જો એક પેકેટ ડ્રોપ થાય, તો અન્ય ડેટા સ્ટ્રીમ્સ ચાલુ રહે છે. આ એક પેકેટના લોસને કારણે તમારા આખા સેશનને અટકતું અટકાવે છે.

ઇન્ટરનેટને કોઈ જાદુઈ ક્લાઉડની જેમ લેવાનું બંધ કરો. તમારા ડેટાની ભૌતિક વાસ્તવિકતાને સમજો.

સ્ત્રોત: https://dev.to/taohuawu/demystifying-global-network-latency-the-mechanics-of-anycast-routing-cross-border-fiber-optics-1bpa

વૈકલ્પિક લર્નિંગ કોમ્યુનિટી: https://t.me/GyaanSetuAi