今天是 WWDC09 最後一天了,既然 WWDC09 的內容都不能講(NDA)。那麼就來聊聊這次 WWDC09 轉播的心得吧。 這次的 live coverage 上線前我們想了各種方案應付這麼大的流量。本來一開始呢,我們規劃的方式是拆成兩台。其中一台做為後台,讓轉播人員可以使用暢通的網路轉播。中間透過 memcached 暫存資料讓前端讀取,讓其他使用者可以看到。不過呢,後來很擔心流量以及CPU, memory不知道能不能夠應付的住。所以我們最後決定改用 Google AppEngine 作為解決方案。
使用 Google AppEngine 的好處是,只要把程式寫一寫,剩下的機器丶資料庫等等問題就可以通通交給 Google 去煩惱。所以工作很簡單,只要把原本的 Sinatra 寫的程式重新用 Python 改寫就可以了。最後把網頁經過我們的設計師美化一下就可以了。這個程式就變成了各位所看到的 wwdc.hypo.cc 網站。
但是呢,事情總是沒有這麼美好。為了防止世界被破壞讓大家可以更有參與感,原先放了個 meebo chatroom。可是沒想到單一聊天室只能 hold 80 人 Orz 結果我們(其實主要都是 yllan 大大) 就緊急在轉播開始前刻了一個聊天室。看這整個網站真的是很有成就感阿…
轉播過程中呢,會場的網路上大致上還算暢通。雖然中間有過兩三次小斷線,不過沒有造成太大的問題。看著人越來越多,當時我的心情真的是非常興奮。這邊也要特別感謝幫忙貼圖的 franky 大大以及幫忙照相的 skywalking 大大。雖然這次我們貼圖比較lag,這是因為這次我們用的是普通DC在處理流程上比較麻煩。請各位放心,我們明年會做的更好。盡量給大家 live 的圖片轉播!

最後,在轉播結束之後。趕快看了一下 Dashboard,看看這次轉播到底有沒有花到錢XD (這張圖是剛剛抓的,不是正確數字。)當天的數字大概是 150 requests per secs. CPU 跟 頻寬用量等等也都還撐的住。希望明年可以有更多人一起來看,一起沖破限制吧(??)
這次的程式在稍作整理之後我們也會將他 open source 出來,讓大家如果有類似需求的話也可以使用。請各位期待一下囉 :P

Yung-Luen Lan
2009 年 06 月 13 日 01:58:47
雖然我知道在現場很難不被激情沖昏頭,不過文字轉播的時候可以多說明一些,增加臨場感。 (打字也是要快就是了)
我前幾天看著 Keynote 影片,在想如果是我的話要怎麼播報才會讓人看得過癮,還挺困難的呢!
itsZero
2009 年 06 月 13 日 02:03:59
是阿,這真的不是一件簡單的事情。我們回去或許可以來討論一下怎麼撥報會比較好。(不然下次我就當我是電台主持人,用跟大家聊天的語氣好了XD) 有些地方甚至聽不太懂(通常是一些奇怪的CEO上台的時候…XD),得自己多看一點才有辦法完整補充上去。
不過說真的,看著旁邊的聊天室大家一起透過自己提供的資訊在討論這些東西。真的很 high 阿~~ :D
yoho
2009 年 06 月 13 日 02:22:28
幹的不錯,我也很 high,當天爽到天亮了還睡不著。 明年繼續,讓它變成公司的固定傳統吧!
yen3
2009 年 06 月 13 日 07:56:32
真是讓人期待,應該可以利用這個機會學到很多東西 XD 謝謝你們的貢獻!
宇狗
2009 年 06 月 14 日 00:05:10
感謝強到靠北的傑洛大大轉播(和與我IM即時對談) XD