Постановка / AB-тестирование CDN-хостинга Javascript

Давайте предположим, что у меня есть один файл javascript, который я раздал многим своим клиентам, аналогичный файлу GA *ga.js, и этот файл загружается достаточно много раз, поэтому мне приходится размещать его на CDN.

Проблема с этой настройкой заключается в том, что очень сложно «поставить» новую версию javascript. В идеале, когда у меня есть новая версия JS, я хотел бы разделить входящий трафик на CDN и отправить 1% всего трафика на новый JS (случайно выбранный) или, возможно, отправить новый JS только на определенные URL-адреса.

Я сталкивался с этой проблемой несколько раз и не нашел хорошего решения. Одним из возможных решений является работа с CDN, хотя это длительный процесс. Альтернативное решение заключается в том, чтобы клиенты всегда загружали javascript-загрузчик, который знает, где живет фактический JS или поставленный JS, и соответствующим образом распределяет трафик.

Мне любопытно, есть ли альтернативные решения, которые придумали люди. Это достаточно распространенная проблема для любой компании, распространяющей свой JS, такой как Google, Twitter, Facebook, Linkedin и т. д.


person daniyalzade    schedule 09.11.2011    source источник
comment
Я думаю, что ваш лучший выбор - это загрузчик Javascript, поскольку он позволяет вам сохранять контроль с вашей стороны.   -  person Scott A    schedule 09.11.2011


Ответы (1)


Поскольку большинство служб CDN полагаются на то, что вы добавляете новую запись CNAME в свой домен, чтобы указать на имя хоста CDN. Вы можете использовать DNS для разделения трафика между различными службами CDN.

  1. Round-robin_DNS — более или менее равномерно распределяет трафик.
  2. geo-load-balancing — позволяет установить сопоставление с конкретным хостом на основе местоположение пользователя.
person Maksym Kozlenko    schedule 20.11.2011
comment
Это определенно возможно, но TTL в нашем кеше DNS довольно велик, поэтому подготовка промежуточной настройки займет много времени. Кроме того, полагаться на распространение DNS было бы головной болью. Наконец, для получения разделения 99%/1% с помощью циклического перебора потребуется 100 записей в файле DNS, что может стать громоздким :) - person daniyalzade; 22.11.2011