"本文档主要介绍了开心网架构设计,特别是针对Social Game的技术挑战和解决方案,以《开心农场》为例,探讨了如何支撑千万级DAU的运营,并分享了Five Minutes公司的愿景和游戏设计理念。"
在《我们的愿景-开心网架构设计》中,Five Minutes公司明确表示其目标是成为全球领先的Social Game开发商和运营商。公司认为,游戏应面向非游戏玩家设计,强调与真实朋友一起游玩的乐趣,并且游戏参与成本低,允许玩家每天轻松投入五分钟左右的时间。
《开心农场》作为开心网的一款代表作,取得了显著的运营成绩,其DAU(日活跃用户)在多个平台上总计达到1564万,使其成为当时世界上最大的Social Game之一。面对如此庞大的用户基数和海量的请求,开心网的架构需要解决几个关键的技术挑战:
1. 大规模用户数据存储:处理千万级别的用户数据存储,需要高效的数据库管理策略,如分库分表,以确保数据的稳定存储和快速访问。
2. 高并发处理:每天数亿次的请求量要求系统具备强大的负载均衡能力,通过Web服务器的平行扩展、LVS或DNS轮询进行流量分发,并采用共享Session来维持用户会话。
3. 频繁数据修改:每秒数万次的数据修改对系统的实时性提出极高要求,因此需要优化数据库性能,减少JOIN操作,尽可能使用数值型字段,并利用UPDATE操作代替INSERT和DELETE。
为了应对这些挑战,开心网采取了以下策略:
- 服务器性能优化:利用异步处理来减轻服务器压力,将请求操作处理异步化,同时通过缓存接口数据、优化Linux内核参数以及使用如fastcgi模式运行PHP、EAccelerator加速器等手段提升PHP性能。
- 数据库优化:数据库层面实施分库分表策略,所有数据设计为KEY->VALUE形式,选择Innodb存储引擎,以提高读写速度和事务处理能力。
- 异步处理:遵循将客户端暂时不需要的数据进行异步处理的原则,例如先将非核心数据写入Memcached,以实现快速响应。
此外,文档还邀请有兴趣的人士加入Five Minutes团队,共同探索和解决Social Game领域的技术难题,推动公司愿景的实现。开心网通过技术创新和架构优化,成功地支持了千万级DAU的游戏运营,为Social Game行业树立了标杆。