Five Minutes公司程延辉(小名康天) 介绍开心农场架构,social-game的技术挑战,支持千万级DAU的social-game技术架构。这是一个对于开发者来讲,很是精彩,很是有实用性指导的一次演讲,详细介绍了不少技术内幕。 php
Five-Minutes公司的著名social-game开心农场,目前很是受用户欢迎,包括国外的Facebook,国内的开心网都是如此,是全球最大的social-game,台下热烈掌声。呵呵。开心农场这个游戏从介绍看,至关成功,最先是08年9月在校内网上线,然后在51等平台推广,包括Facebook。如今已经有1570万游戏用户了,其中包括50万的Facebook用户。 web
下载演讲ppt:Social Game的技术挑战.ppt 数据库
开心农场架构主要难点:一、如何存储大规模的用户数据千万级;二、若是应对大量访问天天数亿请求量;三、若是应对数据的频繁修改,每秒数万次数据修改。 缓存
解决的方式 性能优化
优化: 服务器
一、负载均衡,web服务器平行扩展。 架构
二、服务器性能优化。 负载均衡
三、异步处理,缓存数据接口,Linux内核参数优化,挖掘PHP的效率,用fastcgi模式运行php,用EAccelerator加速。固定不变数据作成php配置文件,用C开发PHP扩展等。 异步
数据库性能优化: memcached
一、数据库分库分表,全部数据所有设计成 key-》value形式,不用join。
二、使用INNODB,常常操做的数据表中全部字段尽可能设计成数值型,用update替代INSERT和DELETE操做
异步处理:整个系统最关键的部分,
原则:把客户端暂时不须要的数据进行异步处理。
实例:讲非核心数据先写入memcached,异步更新到数据库,合并数据库更新操做,Feed和Notification的异步发送。
利用客户端资源:Flash屏蔽重复操做和没必要要请求,Flash进行一些计算减轻服务器的复旦,例如好友排序等。Flash缓存一些数据。
social game = social + game。实时互动(大负载)和非实时互动(大负载)。
服务器角色:场景服务器,逻辑服务器,admin服务器,gateway,架构逻辑仍是挺复杂的,天天处理亿级请求的架构,彻底和百万级不同!彻底可以经过平行扩展的方式应对,gateway和场景服务器都彻底能够增长。
Blue Whale是他们们正在开发的解决长链接的social game架构。