Skip to content


Five Minutes程延辉 介绍开心农场架构

Five Minutes 公司程延辉(小名康天) 介绍开心农场架构,social game的技术挑战,支持千万级DAU的social game技术架构。这是一个对于开发者来说,非常精彩,非常有实用性指导的一次演讲,详细介绍了很多技术内幕。

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程序员。

程延辉的演讲获得了在场热烈的掌声。
下载演讲ppt:Social Game的技术挑战.ppt

 

原文:http://blog.sina.com.cn/s/blog_6051dbbb0100du27.html

Posted in 技术, 网站架构.

Tagged with , , .


4 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. freeke says

    呵呵,他们的Nginx前端处理在每天的业务高峰期一样处理会延迟,并且非常严重,Nginx前端不够用

  2. C1G says

    我在早上访问时确实比较慢,是Nginx不够用?WEB服务器应该很方便扩展啊,我觉得应该是DB吧

  3. 开心农场偷菜 says

    太卡了

Continuing the Discussion

  1. 開心農場 - 龍的耳朵 linked to this post on 2009/07/05

    […] Five Minutes程延辉介绍开心农场架构| C1G军火库Five Minutes 公司程延辉(小名康天) 介绍开心农场架构,social game的技术挑战,支持千万级DAU的social. […]



Some HTML is OK

or, reply to this post via trackback.