𝗚𝗹𝗼𝗯𝗮𝗹 𝗡𝗲𝘁𝘄𝗼𝗿𝗸 𝗟𝗮𝘁𝗲𝗻𝗰𝘆ની સમજૂતી
લેટન્સી આધુનિક સોફ્ટવેરને નુકસાન પહોંચાડે છે. નેટવર્ક લેયરમાં એક મિલિસેકન્ડનો વિલંબ તમારી એપ્લિકેશનમાં સેકન્ડોનો લેગ (lag) પેદા કરે છે. આનાથી રિયલ-ટાઇમ ટૂલ્સ અને AI સ્ટ્રીમિંગનો અનુભવ બગડી જાય છે.
મોટાભાગના એન્જિનિયરો ઇન્ટરનેટને એક જાદુઈ ક્લાઉડ તરીકે જુએ છે. વાસ્તવિકતા ભૌતિક અને કડક છે.
પ્રકાશની ગતિની મર્યાદા ડેટા સબમરીન ફાઈબર-ઓપ્ટિક કેબલ્સ દ્વારા મુસાફરી કરે છે. શૂન્યાવકાશ કરતા કાચમાં પ્રકાશની ગતિ ધીમી હોય છે. ફાઈબર દ્વારા પ્રકાશ આશરે 204,500 કિમી/સેકન્ડની ઝડપે મુસાફરી કરે છે.
પેસિફિક મહાસાગર પાર કરતા 9,000 કિમીના માર્ગમાં ઓછામાં ઓછો 88ms નો વિલંબ થાય છે. તમે આ મર્યાદા તોડી શકતા નથી. ભૌતિક વિજ્ઞાન તમારા પર્ફોર્મન્સ પર એક મર્યાદા નક્કી કરે છે.
Anycast વિરુદ્ધ Unicast Unicast નેટવર્કમાં, દરેક સર્વર પાસે એક યુનિક IP હોય છે. જો લંડનમાં રહેલો યુઝર ન્યૂયોર્ક સર્વરનો ઉપયોગ કરે છે, તો પેકેટ્સ ઘણા હોપ્સ (hops) દ્વારા લાંબા અંતરની મુસાફરી કરે છે. આનાથી હાઈ લેટન્સી સર્જાય છે.
Anycast આ બાબતને બદલે છે. તમે એક જ IP ને અનેક એજ લોકેશન (edge locations) પર અસાઇન કરો છો.
- રાઉટર્સ BGP નો ઉપયોગ કરીને સૌથી ટૂંકો માર્ગ શોધે છે.
- પેકેટ્સ સૌથી નજીકના ફિઝિકલ નોડ (physical node) પર જાય છે.
- કનેક્શન યુઝરની નજીકથી શરૂ થાય છે. આ તમારા નેટવર્કને તમારા ગ્રાહકોની વધુ નજીક લાવે છે.
પેકેટ લોસ (Packet Loss) નું જોખમ ઘણા એડમિન વિચારે છે કે 1% પેકેટ લોસ ઠીક છે. પરંતુ હાઈ-સ્પીડ APIs માટે, તે એક આપત્તિ સમાન છે.
Cubic જેવા સ્ટાન્ડર્ડ TCP પ્રોટોકોલ્સ પેકેટ લોસને સંપૂર્ણ કન્જેશન (congestion) તરીકે ગણે છે. જો કોઈ પેકેટ ડ્રોપ થાય છે, તો સિસ્ટમ તેની ઝડપ 30% ઘટાડી દે છે. વારંવાર થતા લોસને કારણે કનેક્શન ક્યારેય પૂરી ઝડપ સુધી પહોંચી શકતું નથી.
જો કનેક્શન ટાઈમઆઉટ (timeout) થાય છે, તો દરેક વખતે રાહ જોવાનો સમય બમણો થઈ જાય છે. એક નાનો ડ્રોપ પણ એપ્લિકેશનને સેકન્ડો માટે ફ્રીઝ કરી શકે છે.
તેને કેવી રીતે ઠીક કરવું આ મર્યાદાઓને પાર કરવા માટે આધુનિક ટીમો બે મુખ્ય સાધનોનો ઉપયોગ કરે છે:
- BBR: આ અલ્ગોરિધમ દરેક ડ્રોપ થયેલા પેકેટ પર અંધાધૂંધ પ્રતિક્રિયા આપવાને બદલે વાસ્તવિક બેન્ડવિડ્થ (bandwidth) માપે છે. તે ઝડપને સ્થિર રાખે છે.
- QUIC: આ પ્રોટોકોલ UDP પર ચાલે છે. તે એક ખોવાયેલ પેકેટને કારણે અન્ય તમામ ડેટા સ્ટ્રીમ્સ અટકી ન જાય તે રીતે કામ કરે છે. આ પરંપરાગત TCP માં જોવા મળતા ફ્રીઝને અટકાવે છે.
આ ભૌતિક અને રાઉટિંગ નિયમોને સમજવાથી તમને ઝડપી ગ્લોબલ સિસ્ટમ્સ બનાવવામાં મદદ મળે છે.