特別推薦開心農場facebook中文版網站: http://www.zwzpyg.com/?p=353

2010年10月14日星期四

Five Minutes程延輝 介紹開心農場架構

Five Minutes程延輝 介紹開心農場架構

Five Minutes 公司程延輝(小名康天) 介紹開心農場架構,social game的技術挑戰,支持千萬級DAU的social game技術架構。這是一個對於開發者來說,非常精彩,非常有實用性指導的一次演講,詳細介紹了很多技術內幕。

>>猛擊這裡下載演講ppt<<



Five Minutes 公司的著名social game 開心農場,目前非常受用戶歡迎,包括國外的Facebook,國內的開心網都是如此,是全球最大的social game,台下熱烈掌聲。呵呵。開心農場這個遊戲從介紹看,相當成功,最早是08年9月在xiaonei上線,而後在51等平台推廣,包括Facebook。現在已經有1570萬遊戲用戶了,其中包括50萬的Facebook用戶。

開心農場架構主要難點:1。如何存儲大規模的用戶數據千萬級2。如果應對大量訪問每天數億請求量3。如果應對數據的頻繁修改,每秒數万次數據修改。

解決的方式

優化:

1。負載均衡,web服務器平行擴展。

2。服務器性能優化。

3。異步處理,緩存數據接口,Linux內核參數優化,挖掘PHP的效率,用fastcgi模式運行php,用EAccelerator加速。固定不變數據做成php配置文件,用C開發PHP擴展等。

數據庫性能優化:

1。數據庫分庫分錶,所有數據全部設計成key-》value形式,不用join。

2。使用INNODB,經常操作的數據表中所有字段盡量設計成數值型,用update替代INSERT和DELETE操作

異步處理:整個系統最關鍵的部分,

原則:把客戶端暫時不需要的數據進行異步處理。

實例:講非核心數據先寫入memcached,異步更新到數據庫,合併數據庫更新操作,Feed和Notification的異步發送。

利用客戶端資源:Flash屏蔽重複操作和不必要請求,Flash進行一些計算減輕服務器的複旦,例如好友排序等。 Flash緩存一些數據。

social game = social + game。實時互動(大負載)和非實時互動(大負載)。


服務器角色:場景服務器,邏輯服務器,admin服務器,gateway,架構邏輯還是挺複雜的,每天處理億級請求的架構,完全和百萬級不一樣!完全能夠通過平行擴展的方式應對,gateway和場景服務器都完全可以增加。

Blue Whale是他們們正在開發的解決長連接的social game架構。

開心農場在現場招聘:需要C ,Python, Flash AS3程序員。

程延輝的演講獲得了在場熱烈的掌聲。

1 条评论: