2011-11-09 20 views
6

Załóżmy, że mam pojedynczy plik javascript, który rozdałem wielu moim klientom, podobnie jak GA Ga.js, a plik ten jest ładowany wystarczająco dużo razy że muszę go hostować na CDN.Staging/AB Testowanie hostingu CDN Javascript

Problem z tą konfiguracją polega na tym, że naprawdę trudno jest "przygotować" nową wersję javascript. Idealnie, gdy mam nową wersję JS, chciałbym podzielić ruch przychodzący na CDN i wysłać 1% całego ruchu do nowego JS (losowo wybranego) lub ewentualnie wysłać nowy JS tylko do konkretnego Adresy URL.

Wiele razy spotkałem się z tym problemem i nie wymyśliłem dobrego rozwiązania. Jednym z możliwych rozwiązań jest praca z CDN, choć jest to długi proces. Alternatywne rozwiązanie polega na tym, że klienci zawsze ładują javascript typu bootstrapper, który wie, gdzie znajduje się rzeczywisty JS lub wystawiony JS i odpowiednio dzieli ruch.

Jestem ciekawy, czy istnieją alternatywne rozwiązania, które ludzie wymyślili. Jest to dość powszechny problem dla każdej firmy, która dystrybuuje swoje JS, takie jak Google, Twitter, Facebook, Linkedin itp.

+0

Myślę, że najlepiej jest uruchomić JavaScript, ponieważ pozwala zachować kontrolę od końca. –

Odpowiedz

1

Ponieważ większość usług CDN polega na dodaniu nowego rekordu CNAME do swojej domeny, aby wskazać nazwę hosta CDN. Możesz używać DNS do podziału ruchu pomiędzy różnymi usługami CDN.

  1. Round-robin_DNS - rozdziela trafffic bardziej lub mniej równomiernie
  2. geo-load-balancing - pozwala określić odwzorowanie konkretnego węzła na podstawie lokalizacji użytkownika.
+0

Prawdopodobnie istnieje taka możliwość, ale czas TTL w pamięci podręcznej DNS jest dość duży, więc przygotowanie konfiguracji przemieszczania zajęłoby dużo czasu. Co więcej, poleganie na propagacji DNS byłoby bólem głowy. Wreszcie, uzyskanie podziału 99%/1% przy użyciu programu round-robin wymagałoby 100 wpisów w pliku DNS, co może stać się nieporęczne :) – daniyalzade

Powiązane problemy