
आंकड़े और तथ्य (परिचय के बजाय)
- 2010 में, औसत वेब पेज का आकार 481 kB था। 2019 में - पहले से ही 1936.7 kB ( विस्तृत आँकड़े )। पिछले तीन वर्षों में, इस सूचक के मूल्य में 314.7% की वृद्धि हुई है। अध्ययन बताते हैं कि वेब पेजों का आकार बढ़ाने की प्रवृत्ति जारी है ।
- स्ट्रीमिंग ऑडियो और वीडियो सेवाएं वर्तमान में लोकप्रियता प्राप्त कर रही हैं। अप्रैल 2019 तक, लोकप्रिय Spotify सेवा के ग्राहकों की संख्या 217 मिलियन थी।
- सर्वेक्षणों के अनुसार , 25% उपयोगकर्ता वेब पेज छोड़ते हैं यदि यह 4 सेकंड से अधिक समय तक लोड होता है। मोबाइल डिवाइस से साइट डाउनलोड करने वाले 74% उपयोगकर्ता इंतजार करना पसंद नहीं करते हैं यदि डाउनलोड 5 सेकंड से अधिक समय तक हो। 46% उपयोगकर्ता धीमा होने पर वेब सेवा से निपटने से इनकार करते हैं।
उपरोक्त तथ्य क्या गवाही देते हैं?
तथ्य यह है कि इंटरनेट हर साल अधिक से अधिक "भारी" सामग्री बन रहा है।
और यह भी कि आधुनिक दुनिया में वेबसाइटों और सेवाओं की गति से बहुत बड़ी भूमिका निभाई जाती है। यदि गति बहुत कम है - यह दर्शकों के नुकसान से भरा है, और कई मामलों में - लाभ भी है। इस समस्या को हल करने का एक विश्वसनीय तरीका सामग्री वितरण नेटवर्क (सीडीएन) का उपयोग करना है।
चयनकर्ता 2014 से
सीडीएन सेवा की पेशकश कर रहा है, और हमने मुद्दे के तकनीकी पक्ष का विस्तार से अध्ययन किया है। इस लेख में हम डिवाइस और आधुनिक सीडीएन की विशेषताओं के बारे में बात करेंगे।
मुख्य शर्तें
सीडीएन की विशेषताओं के बारे में एक महत्वपूर्ण चर्चा शुरू करने से पहले, आइए बुनियादी शब्दावली को परिभाषित करें।
सीडीएन (कंटेंट डिलीवरी नेटवर्क) एक भौगोलिक रूप से वितरित नेटवर्क इन्फ्रास्ट्रक्चर है जो वेब सेवाओं और साइटों के उपयोगकर्ताओं को सामग्री का तेजी से वितरण प्रदान करता है। सीडीएन में शामिल सर्वर भौगोलिक रूप से इस तरह से स्थित होते हैं, जिससे साइट / सेवा के उपयोगकर्ताओं के लिए प्रतिक्रिया समय कम से कम हो।
उत्पत्ति (उत्पत्ति) - वह सर्वर जिस पर सीडीएन के माध्यम से वितरित की जाने वाली स्रोत फाइलें या डेटा संग्रहीत किया जाता है।
PoP (उपस्थिति का बिंदु) - सीडीएन के भीतर एक कैशिंग सर्वर, जो एक विशिष्ट भौगोलिक स्थिति में स्थित है। इस तरह के सर्वर को संदर्भित करने के लिए टर्म एज का भी उपयोग किया जाता है।
गतिशील सामग्री - अनुरोध की प्राप्ति के समय सर्वर पर उत्पन्न सामग्री (या तो उपयोगकर्ता द्वारा संशोधित या डेटाबेस से डाउनलोड की जाती है)।
स्थिर सामग्री - अपरिवर्तित रूप में सर्वर पर संग्रहीत सामग्री (उदाहरण के लिए, बाइनरी फ़ाइलें, ऑडियो और वीडियो फ़ाइलें, जेएस और सीएसएस)।
थोड़ा इतिहास और सिद्धांत
1990 के दशक के मध्य में इंटरनेट की तेज वृद्धि से उस स्थिति का सामना करना पड़ा जहां सर्वर लोड को झेलने लगे थे। उस समय के सर्वर के साथ (जो कि सबसे अधिक उत्पादक आधुनिक लैपटॉप की तुलना में कभी-कभी तकनीकी विशिष्टताओं में कमजोर थे), मुझे अलग-अलग चालों में जाना पड़ा: Google, उदाहरण के लिए, "श्रेणीबद्ध कैशिंग" और सूचना सुपरहाइववे - अब ये वाक्यांश केवल इंटरनेट प्रौद्योगिकियों के इतिहास में लेखों में उपयोग किए जाते हैं । यह समझने के लिए कि सामग्री वितरण की तकनीक कैसे विकसित हुई, आइए हम एक छोटा सैद्धांतिक विषयांतर करें।
नोट: स्थिर और गतिशील सामग्री का वितरण विभिन्न प्रकार के सर्वर लोड के साथ जुड़ा हुआ है। डायनामिक कंटेंट के मामले में, जिनमें से जनरेशन डेटाबेस से जुड़ी होती है, प्रोसेसर की गति और रैम की मात्रा महत्वपूर्ण होती है।
स्थैतिक सामग्री के वितरण के लिए, जो ज्यादातर मामलों में बहुत "भारी" है और जिसे बहुत जल्दी डाउनलोड करने की आवश्यकता है, नेटवर्क की गति पहले महत्वपूर्ण है। स्टैटिक्स के वितरण में तेजी लाने के लिए तकनीकी समाधान का अर्थ इस प्रकार है: मुख्य सर्वर के साथ जटिल दो तरफा सिंक्रनाइज़ेशन के बिना क्षैतिज स्केलिंग प्रदान करना।
लोड को कम करने के लिए, 1990 के दशक के अंत में वेब सेवाओं के मालिकों ने विभिन्न सर्वरों से स्टेटिक्स और डायनामिक्स वितरित करना शुरू किया। दुनिया भर में फैले विशाल दर्शकों के साथ बड़ी वेब परियोजनाएं विभिन्न भौगोलिक स्थानों में स्थिर सर्वरों की मेजबानी करने लगीं।
फिर, 1990 के दशक के अंत में, कंपनियों ने प्रकट होना शुरू कर दिया जिसमें स्टेटिक्स के वितरण का संगठन व्यवसाय के मुख्य क्षेत्रों में से एक बन गया। 1998 में, MIT के छात्र डैनियल लेविन और गणित के शिक्षक थॉमसन लीटन ने अकामाई की स्थापना की। अब यह दुनिया में सबसे बड़ा (यदि सबसे बड़ा नहीं) सीडीएन प्रदाता है।
पहले से ही 2004 में, 3,000 से अधिक कंपनियों ने सीडीएन का उपयोग किया; सामग्री वितरित करने की कुल लागत $ 20 मिलियन प्रति माह थी।
दुनिया भर में सीडीएन की संख्या लगातार बढ़ रही है: प्रासंगिक सेवाएं दोनों बड़ी अंतरराष्ट्रीय कंपनियों (उदाहरण के लिए, अकामाई, अमेज़ॅन, क्लाउडफेयर) और कई क्षेत्रीय प्रदाताओं (
विस्तृत समीक्षा ) द्वारा प्रदान की जाती हैं।
CDN का उपयोग न केवल शब्द के सख्त अर्थ में स्टैटिक्स को वितरित करने के लिए किया जाता है: दुनिया भर में कई सर्वरों पर सामग्री वितरित करने से पीक समय पर उपलब्धता सुनिश्चित करने में मदद मिलती है।
पिछले 10-12 वर्षों में, इंटरनेट पर एक और प्रकार की सामग्री व्यापक हो गई है - स्ट्रीमिंग (कई स्ट्रीमिंग ऑडियो और वीडियो सेवाएं, जो आज बहुत लोकप्रिय हैं और एक मिलियन हैं, अगर अरबों, दर्शक नहीं हैं)। वितरण आज CDN के लिए एक और आम उपयोग का मामला है।
सीडीएन का उपयोग करने के संचालन और सुविधाओं के सिद्धांतों पर अधिक विस्तार से विचार करें।

CDN कैसे काम करता है?
पूरे रूस में लोगों द्वारा उपयोग की जाने वाली वेब सेवा की कल्पना करें। मुख्य सर्वर सेंट पीटर्सबर्ग में स्थित हैं, और उपयोगकर्ता विभिन्न भौगोलिक स्थानों में स्थित हैं: कहते हैं, क्रास्नोडार (सेंट पीटर्सबर्ग से 2 604.2 किमी), नोवोसिबिर्स्क (3 826.1 किमी), इरकुत्स्क (5 661, 7 किमी) या व्लादिवोस्तोक में (९ ६०२, ४ किमी)। उपयोगकर्ता मूल सर्वर से दूर है, "मूल" प्रतिक्रिया जितनी लंबी है। 2000 के दशक की शुरुआत में, रूनेट के भोर में, Yuzhno-Sakhalinsk या Petropavlovsk-Kamchatsky के निवासी पूर्ण वेब पेज के लिए 5, या यहां तक कि 10 मिनट के लिए पूरी तरह से लोड होने की प्रतीक्षा कर सकते थे।
सीडीएन का उपयोग करते समय, सब कुछ अलग तरह से होता है: व्लादिवोस्तोक का एक उपयोगकर्ता सीडीएन के हिस्से के रूप में भौगोलिक रूप से निकटतम कैशिंग सर्वर पर पुनर्निर्देशित होता है, जो स्थैतिक सामग्री की डिलीवरी को बहुत तेज करता है।

CDN का उपयोग करते समय डायनामिक्स के वितरण को तेज करने के लिए, अन्य तंत्रों का उपयोग किया जाता है: CDN प्रदाता अपने नेटवर्क के कारण नेटवर्क मार्ग को कम करता है।
सीडीएन का उपयोग करने के लिए एक और दिलचस्प परिदृश्य तथाकथित लाइव-स्ट्रीमिंग है: दुनिया भर के इंटरनेट उपयोगकर्ता एक ब्राउज़र (और कभी-कभी एक विशेष एप्लिकेशन में) की घटनाओं से प्रसारण को देख या सुन सकते हैं। इसे इस तरह से व्यवस्थित किया गया है: एक या कई मूल सर्वरों को कैमरे से एक प्रसारण धारा प्राप्त होती है, जो तुरंत उपस्थिति के बिंदुओं पर रिले जाती है। उत्पत्ति सर्वर ग्राहकों को सामग्री वितरित नहीं करते हैं। सीडीएन को स्ट्रीम करने में लोड बैलेंसर्स भी शामिल होते हैं जो इस समय कम से कम किनारे वाले सर्वरों के अनुरोधों को रीडायरेक्ट करते हैं।
सामग्री वितरण कैसे व्यवस्थित है?
एक नियम के रूप में, सीडीएन के माध्यम से स्थिर सामग्री के वितरण को कॉन्फ़िगर करने के लिए, आपको निम्न चरणों का पालन करना होगा:
चरण 1: साइट स्टेटिक्स को एक अलग डोमेन पर ले जाएं, उदाहरण के लिए, static.example.com - यह मूल होगा।
चरण 2: सीडीएन के माध्यम से काम करने के लिए, फॉर्म cdn.example.com का एक डोमेन बनाएं।
चरण 3: सीडीएन को प्रदाता से कनेक्ट करें। कनेक्ट करने के लिए, वेब सेवा के मालिक को प्रदाता को निम्नलिखित जानकारी देनी होगी:
वह डोमेन जहां से वह स्टैटिक्स ले जाएगा - static.example.com;
वह डोमेन जहाँ से वितरण होगा cdn.example.com।
चरण 4: अपने DNS रजिस्ट्रार में, CDN प्रदाता के डोमेन पर cdn.example.com से CNAME रिकॉर्ड कॉन्फ़िगर करें, जिसे CDN प्रदाता कनेक्ट होने पर आवंटित करता है।
उदाहरण के लिए, CDN Selectel में, इस तरह के एक डोमेन के रूप में 85e77c09-bc03-43bf-b8f3-9492ae33390f.selcdn.net है, जहाँ 85e72c9-bc03-43bf-b8f3-9492ae33390f स्वतः उत्पन्न होता है।
चरण 5: अपनी साइट पर, उन स्टेटिक्स के लिए डोमेन बदलें जिन्हें आप CDN के माध्यम से cdn.example.com पर वितरित करने की योजना बना रहे हैं।
ब्राउज़र में उपयोगकर्ता प्रकार
www.example.com पते को बार करता है, जिससे वह एक HTML पेज प्राप्त करता है। इसके अलावा, सभी स्थिर सामग्री, उदाहरण के लिए, ग्राफिक छवियां सीडीएन (पते cdn.example.com से) से भरी हुई हैं।
वितरण के लिए इरादा स्थिर सामग्री अक्सर ऑब्जेक्ट स्टोर्स में रखी जाती है (
हमने इस बारे में छह साल पहले लिखा था )। लोकप्रिय सीएमएस (Wordpress, Joomla, Drupal, 1C Bitrix और अन्य) के लिए कई प्लगइन्स और एक्सटेंशन हैं, जिनके साथ आप क्लाउड स्टोरेज सेवाओं और CDN के माध्यम से स्टैटिक्स के वितरण के साथ एकीकरण को कॉन्फ़िगर कर सकते हैं।
सीडीएन को जोड़ने के बाद, वेब सेवा उसी मूल सर्वर पर काम करेगी। साइट के कैश्ड हिस्सों को सीडीएन नेटवर्क के सर्वर पर अपलोड किया जाएगा। सिस्टम उपयोगकर्ता के लिए निकटतम सर्वर को ढूंढता है और साइट के स्टेटिक्स को उससे जल्द से जल्द लोड करता है।
आइए एक महत्वपूर्ण बिंदु पर ध्यान दें: सीडीएन में शामिल सर्वर फ़ाइल सर्वर के समान नहीं हैं, जिस पर सामग्री को बाद में डाउनलोड करने के लिए होस्ट किया गया है। सीडीएन का उपयोग सामग्री के भंडारण के लिए नहीं किया जाता है, बल्कि विशिष्ट एल्गोरिदम के आधार पर कैशिंग के लिए किया जाता है।
सीडीएन कैसे समझ सकता है कि निकटतम कैशिंग सर्वर कहां है?
एक नियम के रूप में, सीडीएन से सामग्री लोड करने के लिए दो लोकप्रिय तकनीकों का उपयोग किया जाता है: जियोडएनएस और एनीकास्ट।
GeoDNS का उपयोग करके, आप एक ही डोमेन नाम के लिए कई आईपी पते बाँध सकते हैं। भौगोलिक स्थिति के आधार पर (आईपी पते से अनुरोध आया था), उपयोगकर्ता को निकटतम सर्वर पर पुनर्निर्देशित किया जाता है। आप
इस लेख में (अंग्रेजी में) जियोडएनएस की विशेषताओं के बारे में पढ़ सकते हैं।
एनीकास्ट तकनीक का उपयोग करते समय, पते सामान्य होते हैं, लेकिन क्षेत्र के भीतर "उनके" सर्वरों को रूट करना होता है।
Www.example.com पते पर पहुँचते समय
, उपयोगकर्ता को उपस्थिति के निकटतम बिंदु पर पुनर्निर्देशित किया जाता है। उपयोगकर्ता के प्रदाता को विभिन्न नेटवर्क से कई घोषणाएं मिलती हैं, जिनमें उपस्थिति का एक बिंदु होता है, और प्रदाता का राउटर उनमें से निकटतम का चयन करता है। जवाब वैसे ही सबसे छोटे मार्ग के साथ लौटा है।
सामग्री कैसे कैश की जाती है?
सबसे आम
पहली-एक्सेस योजना है: डाउनलोड करने के लिए अधिकतम समय उपयोगकर्ता द्वारा खर्च किया जाता है जो पहले मूल सर्वर तक पहुंचता है। बाद के सभी उपयोगकर्ता उपस्थिति के निकटतम बिंदु पर कैश किए गए डेटा प्राप्त करेंगे।
भूगोल यहां बहुत महत्वपूर्ण है: उदाहरण के लिए, रियो डी जनेरियो कॉल के एक उपयोगकर्ता के बाद, डेटा ब्राजील में स्थित एक सर्वर पर कैश किया जाएगा, जो पेरिस या लंदन के उपयोगकर्ताओं के लिए उपयोग की गति के साथ समस्याओं को हल नहीं करेगा।
इस योजना द्वारा लगाई गई सीमाओं को पार करने के लिए, क्षेत्रीय निष्कर्षण प्रौद्योगिकियों का उपयोग किया जाता है: सीडीएन में शामिल पड़ोसी सर्वर एक दूसरे से सामग्री लेते हैं, और मूल सर्वर तक नहीं पहुंचते हैं।
अधिकांश CDN पर, वह उपयोगकर्ता जो स्थिर सामग्री के लिए अनुरोध भेजता है उसे उपस्थिति के निकटतम बिंदु पर पुनर्निर्देशित किया जाता है और इसे इस सामग्री का कैश्ड संस्करण प्राप्त होता है। यदि उपस्थिति का निकटतम बिंदु फ़ाइलों को नहीं ढूंढ सकता है, तो उपस्थिति के पड़ोसी बिंदुओं पर एक खोज शुरू हो जाएगी, जहां से उपयोगकर्ता की प्रतिक्रिया अप्रत्यक्ष रूप से होगी। अकामाई सीडीएन में, इस प्रक्रिया को तीतर वितरण कहा जाता है (आप इसे रूसी में "बहु-स्तरीय वितरण" के रूप में अनुवाद कर सकते हैं)।
CDN का उपयोग किस लिए किया जाता है?
सबसे अधिक बार, सीडीएन का उपयोग कैश्ड सामग्री के प्रतिक्रिया समय को कम करने के लिए किया जाता है, जैसा कि हमने ऊपर उल्लेख किया है, संसाधन के धीमे लोड के कारण आगंतुकों के बहिर्वाह को कम करता है और जिससे संभावित वित्तीय नुकसान कम होता है। सीडीएन प्राथमिक सर्वर में गिरावट के कारण सामग्री तक पहुंच के जोखिम को कम करने में मदद करता है। जब आप मुख्य सर्वर को पुनर्स्थापित करते हैं तो सामग्री हर समय उपलब्ध रहेगी।
सीडीएन का उपयोग मुख्य सर्वर पर लोड को काफी कम कर देता है, जो पीक लोड की समस्या को हल करने में मदद करता है। आधुनिक CDN बहुत बड़े भार को जीवित करने में सक्षम है। 2018 के अंत में, अकामाई
ने सीडीएन ट्रैफ़िक के रिकॉर्ड मात्रा की घोषणा की : 72 टीबी / एस।
आजकल, स्ट्रीमिंग सामग्री वितरित करने के लिए सीडीएन का भी सक्रिय रूप से उपयोग किया जाता है।
सीडीएन के साथ काम करते समय क्या याद रखना महत्वपूर्ण है?
किसी भी तकनीक की तरह, सीडीएन में कई विशेषताएं हैं।
CDN- आधारित वेब सेवाओं की पहली पहली समस्या कैश विलंबता है। निम्न स्थिति काफी संभावना है: मुख्य सर्वर पर, फ़ाइल को बदल दिया गया था, लेकिन कैशिंग सर्वर पर यह अभी भी अपरिवर्तित रहेगा। यह विशेष रूप से महत्वपूर्ण है जब सीडीएन के माध्यम से अक्सर अद्यतन सामग्री वितरित की जाती है (दृश्य से फोटो, नए सॉफ़्टवेयर संस्करण, और इसी तरह)
आधुनिक सीडीएन में "ताज़ा" सामग्री की डिलीवरी सुनिश्चित करने के लिए, कैश क्लीयरिंग फ़ंक्शन है, अर्थात कैश पूल से सामग्री को निकालना। इसके अलावा, साइटों और सेवाओं के मालिक सत्यापनकर्ता हेडर का उपयोग करके स्वयं सेटिंग्स का प्रबंधन कर सकते हैं (पहले प्रकाशित
लेख में इस विषय पर हमारी सिफारिशें
देखें )।
एक और कठिनाई अवरुद्ध करने से जुड़ी है: यदि एक कारण या किसी अन्य सेवाओं के लिए जो आपके "पड़ोसी" हैं आईपी सीडीएन प्रदाता द्वारा अवरुद्ध किया गया है, तो आपकी साइट आपके साथ अवरुद्ध हो सकती है। लेकिन इस समस्या को हल किया जा सकता है: अनुरोध पर, सीडीएन प्रदाता आपके आईपी पते को बदल सकते हैं।
सीडीएन किसे चाहिए?
सीडीएन को मुख्य रूप से विभिन्न क्षेत्रों या देशों में बड़े दर्शकों के साथ परियोजनाओं के लिए आवश्यक है। यहां सब कुछ स्पष्ट है: देरी को कम करना, सामग्री का त्वरित वितरण और सुविधा का स्तर बढ़ाना, और, परिणामस्वरूप, अधिक संतुष्ट उपयोगकर्ता।
सीडीएन मोबाइल एप्लिकेशन डेवलपर्स के लिए भी उपयोगी हो सकता है: आंकड़ों के अनुसार, उपयोगकर्ता अक्सर गति की समस्याओं के कारण आवेदन के साथ काम करना जारी रखने से इनकार करते हैं। हाल ही में, विशेष तकनीकी समाधान दिखाई दिए हैं जो मोबाइल उपकरणों के लिए सामग्री के वितरण पर केंद्रित हैं। उन्हें मोबाइल सीडीएन कहा जाता है। कई बड़े CDN प्रदाताओं द्वारा संबंधित सेवाओं की पेशकश की जाती है - उदाहरण के लिए, अकामाई या अमेज़न।
CDN और गेमिंग, मल्टीमीडिया सामग्री और स्ट्रीमिंग के वितरण पर ध्यान केंद्रित करने की आवश्यकता है (जैसा कि ऊपर उल्लेख किया गया है)।
CDN प्रदाता चुनते समय क्या देखना चाहिए (निष्कर्ष के बजाय)
आपकी वेब सेवा के उपयोगकर्ताओं की संख्या बढ़ रही है, दर्शकों का विस्तार हो रहा है, और आप स्टेटिक्स के वितरण को अनुकूलित और तेज करने और मुख्य सर्वर पर लोड को कम करने के लिए एक सीडीएन को जोड़ने के बारे में सोच रहे हैं।
CDN प्रदाता चुनते समय मुझे क्या देखना चाहिए?
सबसे पहले,
उपस्थिति के बिंदुओं की संख्या । यह व्यापक अंतरराष्ट्रीय दर्शकों वाली परियोजनाओं के लिए विशेष रूप से सच है। आपके लिए सबसे दिलचस्प क्षेत्रों में उपस्थिति के बिंदुओं के बारे में जानकारी प्राप्त करना और साइट के संभावित दर्शकों के साथ उनकी तुलना करना उपयोगी होगा।
दूसरे, यह
दूरसंचार ऑपरेटरों के साथ जोड़ों की
उपस्थिति है । यह भी एक महत्वपूर्ण कारक है जिस पर सीडीएन की गति और दक्षता निर्भर करती है। उदाहरण के लिए, 100 शहरों में उपस्थिति के अंकों के साथ एक सीडीएन प्रदाता, लेकिन कनेक्शन की एक छोटी संख्या के साथ, 5 शहरों में मौजूद उपस्थिति के बिंदुओं के साथ प्रदाता की तुलना में अधिक देरी हो सकती है, लेकिन दूरसंचार ऑपरेटरों के साथ बहुत अधिक कनेक्शन हैं।
दुर्भाग्य से, ज्यादातर मामलों में, सीडीएन प्रदाता ऐसी जानकारी प्रकाशित नहीं करते हैं, इसलिए आप केवल परीक्षण करके सब कुछ सत्यापित कर सकते हैं।
तीसरा,
अतिरिक्त सेवाओं और कार्यों की
उपलब्धता । कई CDN प्रदाता उपभोग आंकड़ों का विश्लेषण, कैशिंग नीतियों का प्रबंधन, HTTP हेडर का प्रबंधन, बहुत "भारी" सामग्री (200 एमबी या अधिक से) लोड करने, और पूरी तरह से और चुनिंदा कैश को साफ़ करने जैसी सेवाएं प्रदान करते हैं।
इसके अलावा, CDN प्रदाता चुनते समय, आपको यह जाँचने की आवश्यकता है कि क्या यह उन तकनीकों और प्रोटोकॉल का समर्थन करता है जिनकी आपको आवश्यकता है (HTTP / 2, IPv6, SSL प्रमाणपत्र और अन्य)।