हम अपेक्षाकृत उच्च मात्रा सामग्री साइट चलाते हैं। अधिकांश सामग्री साइटों की तरह, प्रत्येक पृष्ठ का बहुमत अपेक्षाकृत स्थिर है। लेख शायद ही कभी बदलते हैं, जिससे उन्हें स्थिर/एज कैशिंग के कुछ रूपों के लिए अच्छे उम्मीदवार बनाते हैं। हालांकि, दो बड़ी समस्याएं हैं। माध्यमिक पृष्ठ तत्व (एनएवी, हाल की सामग्री सूचियां, आदि) अक्सर "पूर्ण" कैश किए गए पृष्ठों को अमान्य कर देते हुए, अक्सर बदलते हैं। यह भी काफी आम है कि हम एक पृष्ठ में अधिक गतिशील बिट्स शामिल करते हैं, जैसे कि उपयोगकर्ता विशिष्ट जानकारी इत्यादि।रिवर्स प्रॉक्सी HTTP अनुरोधों की पोस्ट प्रोसेसिंग? (अकामाई के ईएसआई की तरह)
यह एक रिवर्स-प्रॉक्सी/लोड बैलेंसर है जो बाद में संसाधित सामग्री है और हमें इसे संभालने में सक्षम होना चाहिए प्रॉक्सी/एज। बैकएंड के लिए प्रारंभिक अनुरोध एक मोटा टेम्पलेट लौटाएगा, फिर प्रॉक्सी सॉफ़्टवेयर इसे पूरा करने के लिए उस टेम्पलेट को संसाधित कर सकता है। मार्कअप कुछ इस तरह दिख सकता है:
<html>
<body>
<div id="content">
Lorem ipsum whackem smackem.
<%
dynamic "http://related.content.service/this/story"
%>
</div>
<div id="sidebar">
<%
dynamic do |request|
url = "http://my.user.service/user-widget.html"
if request.cookies.contains?("user_token")
url = "http://my.user.service/" + request.cookies["user_token"] + "/user-widget.html"
end
error_text = "User service not available"
{ :url => url, :timeout => 500, :error => error_text }
end
%>
</div>
</body>
</html>
क्या आपको लगता है कि उदाहरण में देखेंगे कि एक कुकी मूल्य के आधार पर शामिल फ़ाइल को निर्धारित करता है रूबी एक छोटा-सा है, तो URL में खींचने के लिए के साथ एक हैश रिटर्न , एक टाइमआउट, और त्रुटि की स्थिति में दिखाने के लिए कुछ डिफ़ॉल्ट पाठ। सिद्धांत रूप में, सभी शामिलों को असीमित रूप से भी अनुरोध किया जा सकता है।
मेरी समझ यह है कि अमेज़ॅन ऐसा कुछ करता है। समग्र पृष्ठ की गति सुनिश्चित करने के लिए सख्त टाइमआउट सीमाओं के साथ बैकएंड सेवाओं द्वारा विभिन्न पृष्ठ घटक उत्पन्न होते हैं। मैं उम्मीद कर रहा था कि उनकी सीडीएन सेवा में ऐसा कुछ शामिल होगा, लेकिन ऐसा नहीं होना चाहिए!
एज साइड शामिल (ईएसआई) के लिए एक डब्ल्यू 3 स्पेक है जो मैं चाहता हूं। हालांकि, इसके लिए बहुत कम समर्थन है। यह अकामाई के माध्यम से उपलब्ध है, कुछ ओरेकल सॉफ़्टवेयर हैं जो इसे करते हैं, और ओपन सोर्स वार्निश कैश का एक बहुत ही बुनियादी कार्यान्वयन होता है। यह भी वास्तव में बदसूरत एक्सएमएल प्रारूप है।
तो सवाल यह है कि मुझे क्या करना चाहिए जो मुझे चाहिए? क्या कोई और इस तरह से काम कर रहा है?
क्या आप इस उत्तर पर विस्तार कर सकते हैं? ऐसा लगता है कि यह मुझे जो कुछ भी चाहता है उसे मुझे देता है, लेकिन यह संभव है कि मुझे कुछ याद आ रहा है। – MrKurt
आह, यह थोड़ा और सहायक है। यह वास्तव में मुझे सशर्त रूप से चीजों को शामिल करने में मदद नहीं करेगा, हालांकि, जो मुझे रुचि रखने वाले परिदृश्यों के लिए कम उपयोगी बनाता है। – MrKurt
याद रखें कि 'चीजें' जो एसएसआई पूरे पृष्ठ में सम्मिलित कर सकती हैं, किसी भी द्वारा गतिशील रूप से उत्पन्न की जा सकती है बैकएंड सर्वर। – Javier