Upload
robbin-fan
View
9.180
Download
17
Embed Size (px)
DESCRIPTION
written by 程延辉
Citation preview
Social Game 的技术挑战
—— 支持千万级 DAU 的 Social Game 技术构架
Five Minutes 简介
《开心农场》技术构架
Social Game 的技术挑战
加入我们吧!
目录
11
2
3
4
我们的愿景
• 五分钟致力于成为世界领先的 Social G
ame 开发和运营商!
• Five Minutes was established to becom
e a leading Social Game Publisher in th
e world !
我们的游戏理念
• Our games are designed for NON-GA
MERS.
• Playing with REAL-FRIENDS is more f
un than playing alone.
• Lower participation cost: people can pl
ay a FIVE-MINUTES game daily.
《开心农场》运营成绩平台 当前 DAU 上线时间
Facebook 56 万 09 年 4 月QQ 校友 &Qzone 1000 万 09 年 4 月到 5 月
校内 378 万 08 年 11 月漫游 60 万 09 年 02 月51 70 万 09 年 03 月
总计 1564 万
从 DAU 来看《开心农场》是世界最大的 Social Game !
《开心农场》技术构架
Five Minutes 简介
Social Game 的技术挑战
加入我们吧!
目录
12
1
3
4
《开心农场》的主要难点
• 如何存储大规模的用户数据(千万级的用户量)
• 如何应对大量的访问 (每天数亿次的请求量)
• 如何应对数据的频繁修改 (每秒数万次数据修改)
负载均衡
• Web 服务器平行扩展– LVS 或者 DNS 轮询来负责流量分发– 共享 Session
服务器性能优化• 请求操作处理异步化• 缓存接口数据• Linux 内核参数优化• 挖掘 PHP 的效率
– 用 fastcgi 模式来运行 php
– 用 EAccelerator 来加速– 固定不变的数据做成 php 配置文件– 用 C 来开发 php 扩展
数据库性能优化
• 数据库分库分表• 所有的数据全部设计成 KEY->VALUE 的形式,
不使用 JOIN
• 使用 Innodb
• 经常操作的数据表中的所有字段尽量设计成数值型的
• 用 UPDATE 替代 INSERT 和 DELETE 操作
异步处理
• 原则– 把客户端暂时不需要的数据进行异步处理
• 实例– 将非核心数据先写入 Memcached ,异步
更新到数据库– 合并数据库更新操作– Feed 和 Notification 的异步发送
利用客户端资源
• Flash 屏蔽重复操作和不必要的请求• Flash 进行一些计算来减轻服务器的负
担,例如好友排序等• Flash 缓存一些数据
Social Game 的技术挑战
Five Minutes 简介
《开心农场》技术构架
加入我们吧!
目录
13
1
2
4
Social Game 的挑战
Social Game Social Network Game= +
非实时互动+
大负载
实时互动
大负载
+
非实时互动
大负载
+
实时互动
小负载 ( 分服 )
+
Blue Whale 蓝鲸
加入我们吧!
Five Minutes 简介
《开心农场》技术构架
Social Game 的技术挑战
目录
14
1
2
3
加入我们吧!
• C++ Programmer (Linux/Unix)
• Python Programmer
• Flash AS3 Programmer
请发送简历到: [email protected]
让我们一起引领 Social Game 的技术潮流!