𝗚𝗹𝗼𝗯𝗮𝗹 𝗡𝗲𝘁𝘄𝗼𝗿𝗸 𝗟𝗮𝘁𝗲𝗻𝗰𝘆 𝗘𝘅𝗽𝗹𝗮𝗶𝗻𝗲𝗱 (जागतिक नेटवर्क लॅटन्सीचे स्पष्टीकरण)
लॅटन्सी आधुनिक सॉफ्टवेअरसाठी घातक ठरते. नेटवर्क लेयरवरील मिलिसेकंदाचा विलंब तुमच्या ॲप्लिकेशनमध्ये सेकंदांचा लॅग (lag) निर्माण करू शकतो. यामुळे रिअल-टाइम टूल्स आणि AI स्ट्रीमिंगचा अनुभव खराब होतो.
बहुतेक इंजिनिअर्स इंटरनेटकडे एका जादूच्या क्लाउडप्रमाणे (magic cloud) पाहतात. परंतु वास्तव भौतिक आणि कडक आहे.
प्रकाशाच्या वेगाची मर्यादा डेटा समुद्राखालील फायबर-ऑप्टिक केबल्सद्वारे प्रवास करतो. व्हॅक्यूमच्या (vacuum) तुलनेत काचेमध्ये प्रकाशाचा वेग कमी असतो. फायबरमधून प्रकाश साधारणपणे २,०४,५०० किमी/सेकंद वेगाने प्रवास करतो.
पॅसिफिक महासागराआड ९,००० किमीच्या मार्गासाठी किमान ८८ms चा विलंब लागतो. तुम्ही ही मर्यादा ओलांडू शकत नाही. भौतिकशास्त्र तुमच्या परफॉर्मन्सवर एक मर्यादा (floor) ठरवते.
Anycast विरुद्ध Unicast Unicast नेटवर्कमध्ये, प्रत्येक सर्व्हरचा एक युनिक (unique) IP असतो. जर लंडनमधील वापरकर्त्याने न्यूयॉर्कमधील सर्व्हरला रिक्वेस्ट पाठवली, तर पॅकेट्स अनेक 'हॉप्स' (hops) मधून लांब अंतराचा प्रवास करतात. यामुळे उच्च लॅटन्सी निर्माण होते.
Anycast हे बदल घडवून आणते. तुम्ही एकाच IP ला अनेक 'एज लोकेशन्स' (edge locations) ला नियुक्त करता.
- राउटर्स BGP वापरून सर्वात जवळचा मार्ग शोधतात.
- पॅकेट्स सर्वात जवळच्या फिजिकल नोडकडे जातात.
- कनेक्शन वापरकर्त्याच्या जवळून सुरू होते. यामुळे तुमचे नेटवर्क तुमच्या ग्राहकांच्या अधिक जवळ येते.
पॅकेट लॉसचे (Packet Loss) धोके अनेक ॲडमिन्सना वाटते की १% पॅकेट लॉस ठीक आहे. परंतु हाय-स्पीड APIs साठी, हा एक मोठा disaster आहे.
Cubic सारखे स्टँडर्ड TCP प्रोटोकॉल्स पॅकेट लॉसकडे पूर्ण कोंडी (congestion) म्हणून पाहतात. जर एखादे पॅकेट ड्रॉप झाले, तर सिस्टम त्याचा वेग ३०% ने कमी करते. वारंवार होणाऱ्या लॉसमुळे कनेक्शन कधीही पूर्ण वेगापर्यंत पोहोचू शकत नाही.
जर कनेक्शनला 'टाइमआउट' (timeout) झाला, तर प्रतीक्षा वेळ प्रत्येक वेळी दुप्पट होतो. एक छोटासा ड्रॉप देखील ॲप्लिकेशनला काही सेकंदांसाठी फ्रीझ (freeze) करू शकतो.
हे कसे सुधारावे? या मर्यादांवर मात करण्यासाठी आधुनिक टीम्स दोन मुख्य टूल्स वापरतात:
- BBR: हा अल्गोरिदम प्रत्येक ड्रॉप झालेल्या पॅकेटवर आंधळेपणाने प्रतिक्रिया देण्याऐवजी प्रत्यक्ष बँडविड्थ (bandwidth) मोजतो. यामुळे वेग स्थिर राहतो.
- QUIC: हा प्रोटोकॉल UDP वर चालतो. एखादे पॅकेट गमावल्यामुळे इतर सर्व डेटा स्ट्रीम्स थांबणार नाहीत याची काळजी हा प्रोटोकॉल घेतो. यामुळे पारंपारिक TCP मध्ये दिसणारे 'फ्रीझिंग' थांबते.
या भौतिक आणि राउटिंग नियमांची समज तुम्हाला अधिक वेगवान जागतिक सिस्टम्स तयार करण्यास मदत करते.