2011-11-09 15 views
6

GA's * ga.js'ye benzer şekilde birçok istemciye verdiğim bir javascript dosyası olduğunu ve bu dosyanın yeterince yüklenmesini sağladığımızı varsayalım CDN'de barındırmam gerekiyor.Staging/AB Test CDN Barındırma Javascript

Bu kurulumda sahip olduğum sorun, javascript'in yeni bir sürümünü 'aşamalı' hale getirmeyi gerçekten zorlaştırmasıdır. İdeal olarak, JS'nin yeni bir sürümüne sahip olduğumda, gelen trafiği CDN'ye bölmek ve tüm trafiğin% 1'ini yeni JS'ye (rastgele seçilmiş) göndermek veya muhtemelen yeni JS'yi yalnızca URL'ler.

Bu soruna birçok kez rastladım ve iyi bir çözüm bulmuyorum. Olası bir çözüm, uzun bir süreç olsa da CDN ile çalışıyor. Alternatif çözüm, müşterilerin her zaman, gerçek JS'nin veya aşamalı JS'nin nerede yaşadığını ve trafiği buna göre böldüğünü bilen bir bootstrapper javascript'i yüklemesini sağlamaktır.

İnsanların bulduğu alternatif çözümlerin olup olmadığını merak ediyorum. Bu, JS, Google, Twitter, Facebook, Linkedin vb. Gibi paylaşımları yapan herhangi bir şirket için yeterince yaygın bir sorundur.

+0

En iyi bahsiniz, açılışınızdan kontrol etmenizi sağladığından, bootstrapper Javascript'ti. –

cevap

1

CDN hizmetlerinin çoğu, alanınıza yeni bir CNAME kaydı ekleyerek CDN ana bilgisayar adını işaret ettiğinden emin olabilirsiniz. Farklı CDN servisleri arasındaki trafiği bölmek için DNS'yi kullanabilirsiniz.

  1. Round-robin_DNS - kullanıcının yerine göre belirli ana bilgisayara bir eşleme ayarlamanızı sağlar - böler aşağı yukarı eşit
  2. geo-load-balancing trafffic.
+0

Kesinlikle bir olasılık olabilir, ancak DNS önbelleğimizdeki TTL oldukça büyüktür, bu nedenle evreleme kurulumunu hazır hale getirmek uzun zaman alacaktır. Dahası, DNS yayılımına güvenmek baş ağrısına sebep olur. Son olarak, round-robin kullanarak% 99 /% 1'lik bölünme elde etmek, DNS dosyasında 100 girişe ihtiyaç duyacaktır. – daniyalzade