CDN 就是 Content Delivery Network。 一種檔案發送的網路手法;它可以將檔案分散在世界各地的主機,當有使用者對這個檔案發出要求時,CDN 會就最接近的主機結點將這個檔案送出到使用者的電腦。 這麼做可以大大的減少網路的擁塞,加快傳送速度。
但是 這都只是 “理論”,理論的東西在任何地方只要沒有意外,都是非常完美的。 不過如果有萬一,新的技術往往不比傳統的技術來的可靠。
我本身在一家電腦遊戲公司工作,主要負責提供海外的技術支援,還有工具程式的開發。
大家應該知道遊戲是一種很常會需要更新的程式,我們的遊戲基本上每星期都會有新的內容需要更新出去,所以理論上去使用 CDN 會達到很好的效果。 我一開始也是很相信這種技術的,直到接二連三的發生問題後;我非常的肯定,這種技術並不是甚麼好東西。
有一間外國的代理商代理了我們公司的產品,但是常常會發生有部份玩家沒辦法正常更新的情形;沒有正常的更新自然就沒辦法進去遊戲。(所以就損失這些玩家) 起初我們都相信是個案,但是後來經過統計後,每一次更新後就會造成百多人的人數損失;這些人可都是我們薪水的來源呀。
我們慢慢的發現到部份使用者下載下來的檔案是舊的版本,跟我們 flush 出去的檔案是不一樣的,我們怎麼知道為什麼? 我這邊下載的沒問題呀!
接著人數越掉越兇,連外國的 PM 都變成了受害者,他們自己下載下來的檔案,兩個人在同一個地方下載,檔案 size 整個不一樣;他們知道問題大條了,找我們求救。 我們能怎麼救呢? 是不是這一家 CDN 提供商有問題? 換一家嘛。
很好,換到新的一家後,問題還是存在;可以說更嚴重了。
最後,我建議的辦法還是最可靠的。
架設一個獨立的檔案主機給玩家使用,所有的玩家都連到這一台做更新!
沒錯,很土,很俗! 但是古老的方法永遠都是最可靠的!
新的技術不一定就是好,賣錢的技術往往都是舊的!
以上,提供給各界參考。
