2011-11-09 75 views
6

我們假設我有一個單獨的JavaScript文件,我已經發給了很多客戶端,類似於GA的* ga.js,並且此文件的載入次數足夠高我必須在CDN上託管它。分段/ AB測試CDN主機Javascript

我用這個設置的問題是,它使真的很難'舞臺'的新版本的JavaScript。理想情況下,當我有一個新版本的JS時,我想將傳入的流量拆分爲CDN,並將全部流量的1%發送給新的JS(隨機選擇),或者可能僅將新的JS發送給特定網址。

我遇到過這個問題多次,並沒有拿出一個很好的解決方案。一個可能的解決方案是與CDN合作,儘管這是一個漫長的過程。另一種解決方案是讓客戶始終加載一個引導程序JavaScript,它可以知道實際的JS或上演的JS所處的位置並相應地分割流量。

我很好奇,如果有人提出了替代解決方案。對於任何分銷其JS,Google,Twitter,Facebook,Linkedin等公司的公司來說,這是很普遍的問題。

+0

我認爲你最好的選擇是引導程序的Javascript,因爲它可以讓你保持從你的最終控制。 –

回答

1

由於大多數CDN服務都依賴於您向域添加新的CNAME記錄以指向CDN主機名。您可以使用DNS來分割不同CDN服務之間的流量。

  1. Round-robin_DNS - 分裂trafffic或多或少均勻
  2. geo-load-balancing - 允許設置一個映射,以基於用戶位置特定的主機。
+0

肯定會有這種可能性,但我們的DNS緩存上的TTL相當大,因此準備好分段安裝需要很長時間。此外,依靠DNS傳播將是一件令人頭疼的事情。最後,使用循環法獲得99%/ 1%的分割將需要在DNS文件中有100個條目,這可能難以實施:) – daniyalzade