2011-11-09 22 views
6

मान लीजिए कि मेरे पास एक ही जावास्क्रिप्ट फ़ाइल है जिसे मैंने अपने कई क्लाइंट को GA के * ga.js के समान सौंप दिया है, और यह फ़ाइल पर्याप्त बार लोड हो रही है कि मुझे इसे सीडीएन पर होस्ट करना है।स्टेजिंग/एबी परीक्षण सीडीएन होस्टिंग जावास्क्रिप्ट

इस सेटअप के साथ मेरी समस्या यह है कि यह जावास्क्रिप्ट के एक नए संस्करण को 'मंच' करना वाकई मुश्किल बनाता है। आदर्श रूप से, जब मेरे पास जेएस का नया संस्करण है, तो मैं आने वाले ट्रैफिक को सीडीएन में विभाजित करना चाहता हूं, और पूरे जेएस का 1% नए जेएस (यादृच्छिक रूप से चुने गए) को भेजना चाहता हूं, या संभवतः केवल नए जेएस को विशिष्ट रूप से भेज सकता हूं यूआरएल।

मैं इस मुद्दे पर कई बार आया हूं और एक अच्छा समाधान नहीं आया है। एक संभावित समाधान सीडीएन के साथ काम कर रहा है, हालांकि यह एक लंबी प्रक्रिया है। वैकल्पिक समाधान है कि ग्राहक हमेशा बूटस्ट्रैपर जावास्क्रिप्ट लोड करते हैं, जो जानता है कि वास्तविक जेएस या चरणबद्ध जेएस रहता है और तदनुसार यातायात को विभाजित करता है।

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

+0

मुझे लगता है कि आपकी सबसे अच्छी शर्त बूटस्ट्रैप जावास्क्रिप्ट है, क्योंकि यह आपको अपने अंत से नियंत्रण बनाए रखने की अनुमति देती है। –

उत्तर

1

चूंकि अधिकांश सीडीएन सेवाएं आपके डोमेन पर सीडीएन होस्टनाम को इंगित करने के लिए आपके डोमेन पर एक नया CNAME रिकॉर्ड जोड़ती हैं। आप विभिन्न सीडीएन सेवाओं के बीच यातायात को विभाजित करने के लिए DNS का उपयोग कर सकते हैं।

  1. Round-robin_DNS - विभाजन trafffic कम या ज्यादा समान रूप से
  2. geo-load-balancing - उपयोगकर्ता स्थान के आधार पर विशिष्ट की मेजबानी के लिए एक मानचित्रण स्थापित करने के लिए अनुमति देता है।
+0

निश्चित रूप से एक संभावना हो सकती है, लेकिन हमारे DNS कैश पर टीटीएल काफी बड़ा है, इसलिए स्टेजिंग सेटअप तैयार करने में काफी समय लगेगा। इसके अलावा, DNS प्रचार पर निर्भर सिरदर्द होगा। अंत में, राउंड-रॉबिन का उपयोग करके 99%/1% विभाजन प्राप्त करने के लिए DNS फ़ाइल में 100 प्रविष्टियों की आवश्यकता होगी, जो अनावश्यक हो सकती है :) – daniyalzade