2012-05-16 8 views
57

कुछ हफ्ते पहले अमेज़न घोषणा की कि वे सामग्री समयावधि समाप्त होने के कम हैक्लाउडफ्रंट में टीटीएल 0 क्या है?

Amazon CloudFront Lowers Minimum Content Expiration Period

इतना है कि आप वास्तव में अब टीटीएल CloudFront में 0 पर सेट तो मेरे सवाल है, कारण है कि यह करने के लिए उपयोगी हो सकता है कर सकते हैं क्लाउडफ्रंट वितरण को टीटीएल के साथ 0 पर सेट किया गया है। मेरे लिए इसका मतलब है कि क्लाउडफ्रंट पर आने वाले हर अनुरोध पर कोई कैशिंग नहीं होगी।

मुझे क्या याद आ रही है?

उत्तर

117

Amazon CloudFront की यह नई सुविधा क्योंकि मूल थोड़ी अलग काम करता है की तुलना में यह विपरीत करने के लिए पहली नजर में लग रहा है और अनिवार्य रूप से कोई समस्या नहीं है, मार, कई उपयोग के मामलों के लिए अत्यंत उपयोगी वास्तव में है; जबकि यह सुविधा पहले से ही जारी की गई है, यह सब हाल ही में Amazon CloudFront - Support for Dynamic Content की रिलीज के साथ आता है, उदाहरण के लिए कई मामलों में, गतिशील सामग्री या तो संचित करने योग्य नहीं या समय की एक बहुत ही कम अवधि के लिए संचित करने योग्य है, शायद है बस कुछ ही -

चर समय लाइव होने का (टीटीएल): हाथ में प्रश्न के लिए सेकंड। अतीत में, क्लाउडफ्रंट का न्यूनतम टीटीएल 60 मिनट था क्योंकि सभी सामग्री को स्थिर माना जाता था। नया न्यूनतम टीटीएल मान 0 सेकंड है। यदि आप किसी विशेष उत्पत्ति के लिए टीटीएल को 0, पर सेट करते हैं तो क्लाउडफ्रंट अभी भी उस उत्पत्ति से सामग्री को कैश करेगा। यह तो गए एक GET अनुरोध कर देगा एक यदि संशोधित के बाद से शीर्ष लेख, जिससे मूल संकेत है कि CloudFront कैश की गई सामग्री का उपयोग करने के अगर यह मूल में नहीं बदला है जारी रख सकते हैं के लिए एक मौका दे रही है। [जोर मेरा]

दूसरे शब्दों में, 0 मुख्य रूप से साधन का टीटीएल का उपयोग कर, कि CloudFront प्रतिनिधियों मूल करने के लिए कैश नियंत्रण के लिए अधिकार, चाहे या नहीं, और कितनी देर तक के लिए अगर यानी मूल सर्वर का फैसला करता है क्लाउडफ्रंट वस्तुओं को कैश करता है; विशेष रूप से, कृपया ध्यान दें, उस के साथ एक GET अनुरोध एक यदि संशोधित के बाद से शीर्ष लेख जरूरी नहीं है कि वस्तु ही मूल से लिया गया है, मूल बल्कि सकते हैं (और चाहिए) लौट HTTP status code 304 - Not Modified जहां लागू हो:

संकेत करता है कि संसाधन अंतिम बार अनुरोध के बाद संशोधित नहीं किया गया है। [...] का उपयोग करते हुए इस बैंडविड्थ और पुनर्प्रसंस्करण दोनों सर्वर और क्लाइंट पर, बचाता है के रूप में केवल शीर्ष लेख डेटा भेजे जाने चाहिए और पेज की सम्पूर्णता के लिए तुलना में प्राप्त सर्वर द्वारा किया जा रहा फिर से संसाधित, फिर सर्वर और क्लाइंट की अधिक बैंडविड्थ का उपयोग करके फिर से भेजा गया। [जोर मेरा]

देखें मार्क नॉटिंघम के उत्कृष्ट Caching Tutorial यांत्रिकी और HTTP कैश नियंत्रण, HTTP वास्तुकला का एक बहुत महत्वपूर्ण और प्रभावी हिस्सा के लाभों पर जानकारी के लिए।

को समझना कैसे इन सभी भागों को एक साथ काम वास्तव में थोड़ा मुश्किल हो सकता है, उसके अनुसार खंड न्यूनतम समय है कि CloudFront कैश जब CloudFront के संदर्भ में लागू डाउनलोड वितरण के लिए ऑब्जेक्ट्सSpecifying How Long Objects Stay in a CloudFront Edge Cache (Object Expiration) भीतर प्रयास प्रभाव संक्षेप में प्रस्तुत करने को निर्दिष्ट में तालिका विशेष रूप से टीटीएल = 0 के साथ या बिना।

+2

यह एक शानदार प्रतिक्रिया है। समझ गया! – jatorre

+2

धन्यवाद स्टीफन! एक बिल्कुल गहन और अच्छी तरह से लिखित उत्तर। एडब्ल्यूएस को अपने डॉक्टरों में रखना चाहिए !!! हा! – asherrard

+1

बहुत अच्छी तरह से समझाया। गंभीरता से। सादगी और शब्दावली के लिए +10 इस्तेमाल किया। –

3

ध्यान दें कि अमेज़ॅन "टीटीएल 0" नहीं कह रहा है, यह कह रहा है "न्यूनतम टीटीएल 0 है"। और यह बहुत अलग है। ऊपर दिया गया वर्णन बहुत वांछनीय है लेकिन क्लाउडफ़्रंट वास्तव में ऐसा करने की कोई गारंटी नहीं है।

अभी मेरे अनुभवों में, मैं किनारे में कुछ मिनट के लिए एक कैश की गई छवि रह सकता हूं, जबकि मेरी उत्पत्ति पहले से ही बदल गई है।

तो, मुझे लगता है कि "न्यूनतम टीटीएल 0 0" कह रहा है कि "अमेज़ॅन के पास इसे कैश में रखने का कोई सख्त इरादा नहीं है", और शायद "और यह अक्सर रीफ्रैच करेगा"।

सीएमएस जैसे अनुप्रयोगों के लिए, जहां वेब उपयोगकर्ता नई सामग्री पोस्ट कर रहा है, मुझे लगता है कि टीटीएल -0 अभी भी पर्याप्त नहीं है। आपको अभी भी सीएमएस से अवैधताओं का आह्वान करना होगा या विभिन्न संस्करण संख्याओं के लिए अलग-अलग पथों को नियोजित करना होगा।

संबंधित मुद्दे