caching - वेब कैशिंग, सीडीएन, और प्रॉक्सी सर्वर के साथ कैसे शुरुआत करें?



प्रॉक्सी सर्वर क्या है (1)

मैं नौसिखिया प्रोग्रामर हूं जो स्टार्टअप का निर्माण कर रहा हूं कि मैं (स्वाभाविक रूप से) आशा करता हूं कि बड़ी मात्रा में यातायात पैदा होगा। मैं डॉटक्लोउड पर अपनी डीजेंगो प्रोजेक्ट होस्ट कर रहा हूं, जो अमेज़ॅन ईसी 2 पर है। मेरे पास कुछ स्ट्रीमिंग मीडिया है (हालांकि, आरएमटीपी नहीं) तो डॉटक्लाउड लोगों ने सिफारिश की कि मैं एक सीडीएन के साथ जाऊं। मैं स्टोरेज के लिए अमेज़ॅन एस 3 का भी उपयोग कर रहा हूं और इसलिए मेरे सीडीएन के रूप में अमेज़ॅन क्लाउडफ्रंट के साथ जाने का फैसला किया।

वह समय आ गया है जहां मुझे अपना ध्यान कैशिंग में बदलना है और मैं खो गया हूं और उलझन में हूं। मैं अवधारणा के लिए पूरी तरह से नया हूँ। मेरे ज्ञान की पूरी सीमा एक ट्यूटोरियल से आता है जिसे मैंने अभी पढ़ा है ( http://www.mnot.net/cache_docs/ ) और एक भ्रमित सप्ताहांत Google से परामर्श लेता है। सबसे ज्यादा परेशान यह है कि मुझे यह भी यकीन नहीं है कि मुझे अपनी साइट के लिए क्या करना है।

  1. सीडीएन और प्रॉक्सी सर्वर के बीच क्या अंतर है?

  2. क्या यह संभव है कि मैं एक कैशिंग सेवा (जैसे memcached, redis), एक सीडीएन (क्लाउडफ्रंट), और एक प्रॉक्सी सर्वर (स्क्विड) का उपयोग करना चाहूंगा?

  3. हमारी साइट डीबी संचालित है और उपयोगकर्ता स्थानों के लिए गतिशील रूप से जेनरेट की गई सूचियां उत्पन्न करती है। क्या ऐसी साइट कैश की जा सकती है? (सूचियां स्वयं AJAX के माध्यम से फ़िल्टर करने योग्य होती हैं, इसलिए यूआरएल काफी हद तक अलग-अलग परिणामों का उत्पादन करते समय भी बना रहता है। उदाहरण के लिए, example.com/some_url/ 40 ऑब्जेक्ट्स की एक सूची उत्पन्न कर सकता है, लेकिन पेज पर केवल 10 दिखाई दे रहा है। एक फ़िल्टर, उपयोगकर्ता 10 अलग-अलग ऑब्जेक्ट्स के साथ समाप्त हो सकता है जबकि अभी भी / some_url /)

  4. उच्च ट्रैफिक, समृद्ध सामग्री साइट के लिए सर्वोत्तम प्रथाएं क्या हैं?

  5. मैं इसके बारे में कैसे सीख सकता हूं? मुझे लगता है कि हर जगह कुछ बुनियादी बातों को स्वीकार करने के लिए लगता है कि मेरे पास अभी तक अपनी नींव का हिस्सा नहीं है।

मुझे यकीन नहीं है कि मैं सही सवाल पूछ रहा हूं। बस बहुत खो गया महसूस कर रहा हूँ। मैंने अब अपनी पूरी साइट का 9 5% बनाया है और सोचा है कि मैं सिर्फ विवरणों को इस्त्री कर रहा हूं लेकिन कैशिंग एक और प्रमुख उपक्रम की तरह दिखता है। कोई मार्गदर्शन / सलाह / प्रोत्साहन की सराहना की जाएगी!


ठीक है तो चलो कैशिंग के साथ शुरू करते हैं ...

कैशिंग अस्थायी आधार पर कुछ संग्रहीत करने के बारे में है ताकि आपको हर बार इसे पुनः प्राप्त करने के लिए एक और अधिक महंगा संचालन करने की आवश्यकता न हो।

HTTP कैशिंग सर्वर पर राउंड-ट्रिप को सहेजने के बारे में है, यदि आप केवल डिफ़ॉल्ट व्यवहार का उपयोग करते हैं तो ब्राउज़र सर्वर से पूछता है कि "यदि आपके पास हालिया संस्करण है तो मुझे इस संसाधन की एक प्रति भेजें"

यदि आप भविष्य में समय पर शीर्षलेख समाप्त कर देते हैं, तो ब्राउज़र इस प्रश्न से नहीं पूछता है क्योंकि यह जानता है कि यह संसाधन के प्रतिलिपि का उपयोग कर सकता है।

इस स्तर पर कैशिंग अंत उपयोगकर्ताओं के अनुभव में सुधार करती है और आपको बैंडविड्थ बचाती है।

आपके संक्षिप्त विवरण से HTTP कैशिंग छोटी स्थिर फ़ाइलों के साथ मदद कर सकती है (bookofspeed.com के ch3 का एक पठन है)

Membached (और redis) के रूप में डीबी कैशिंग का उपयोग डेटाबेस पर लोड को कम करने के बारे में किया जाता है (उदाहरण के लिए) ऑपरेशन पर परिणाम सहेजकर और फिर डेटाबेस ऑपरेशन को दोहराने के बजाय उन्हें कैश से सेवारत करना)

आपकी स्थिति में आप अनुरोध पैरामीटर के आधार पर डेटा पुनर्प्राप्ति परत पर कैश करेंगे (और शायद यह सुनिश्चित करें कि क्लाइंट को HTTP प्रतिक्रियाएं कैश नहीं हैं)।

सीडीएन बनाम प्रॉक्सी सर्वर ...

ये वास्तव में अलग-अलग जानवर हैं - सीडीएन आपके आगंतुकों के नजदीक सामग्री को रखने के बारे में हैं, इसलिए विलंबता को कम करना - यदि आप बड़ी फाइलों की सेवा कर रहे हैं तो यह उन्हें आपके सर्वर के बजाय इसके लिए अनुकूलित नेटवर्क पर भी रखता है लेकिन करने के लिए £ पाउंड की कीमत जुड़ी हुई है उस। कुछ सीडीएन जैसे क्लाउड फ्रंट में प्रॉक्सी जैसी व्यवहार होती है, जहां वे आपके मूल सर्वर पर वापस जाते हैं यदि उनके पास विज़िटर की फ़ाइल नहीं है।

प्रॉक्सी सर्वर सचमुच सर्वर हैं जो आपके सर्वर और अंतिम विज़िटर के बीच बैठते हैं - वे आपके सर्वर फार्म (रिवर्स प्रॉक्सी) का हिस्सा हो सकते हैं आईएसपी नेटवर्क या विज़िटर का नेटवर्क।

एक रिवर्स प्रॉक्सी अनिवार्य रूप से आपके सर्वर से एंड-विज़िटर के साथ संचार के काम को ऑफ़लोड कर रहा है, उदाहरण के लिए यदि उनके पास धीमा कनेक्शन है तो वे लंबे समय तक एक पृष्ठ उत्पन्न करने वाले सर्वर को जोड़ देंगे। रिवर्स प्रॉक्सी कई सर्वरों के सामने भी बैठ सकते हैं - या तो सभी एक ही चीज़ या अलग-अलग चीजें कर रहे हैं और प्रॉक्सी बाहरी दुनिया में एक ही पता प्रस्तुत करता है। स्क्विड एक प्रॉक्सी है जिसका आप उपयोग कर सकते हैं लेकिन वार्निश भी बहुत लोकप्रिय एटीएम है।

सामान्य प्रॉक्सी सिर्फ उन आगंतुकों के लिए कैश के रूप में कार्य करते हैं जो उनके माध्यम से आते हैं जैसे कि एक कंपनी के पास अपने इंटरनेट गेटवे पर कैशिंग प्रॉक्सी सर्वर हो सकता है ताकि बाहरी साइट पर जाने वाले पहले व्यक्ति को फ़ाइल पुनर्प्राप्त हो और बाद के विज़िटर इसे प्रॉक्सी बना सकें - वे एक तेज अनुभव प्राप्त करें और कंपनी अपनी बैंडविड्थ खपत को कम कर देगी।

मुझे लगता है कि इस समय आपके पास उच्च ट्रैफिक साइट नहीं है, इसलिए आपकी चुनौती यह समझना है कि अपना प्रयास कहां खर्च करना है यानी अनुकूलित करने की आवश्यकता क्या है।

मेरी पहली सिफारिश कुछ वास्तविक उपयोगकर्ता निगरानी (आरयूएम) प्राप्त करने के लिए होगी, भले ही यह Boomerang.js या Pion का उपयोग करके स्वयं का निर्माण कर रही हो। कैक्टि / मुनिन / कलेक्टडी जैसे निगरानी उपकरणों को भी देखें ताकि आप अपने सर्वर पर लोड को समझ सकें।

अपने उपयोगकर्ताओं के अनुभव को समझना काम करने के लिए महत्वपूर्ण है जहां आपको अनुकूलित करने की आवश्यकता है।





proxy-server