17
Social Game 的的的的的 —— 的的的的的 DAU 的 Social Game 的的的的

Social Game的技术挑战

Embed Size (px)

DESCRIPTION

written by 程延辉

Citation preview

Page 1: Social Game的技术挑战

Social Game 的技术挑战

—— 支持千万级 DAU 的 Social Game 技术构架

Page 2: Social Game的技术挑战

Five Minutes 简介

《开心农场》技术构架

Social Game 的技术挑战

加入我们吧!

目录

11

2

3

4

Page 3: Social Game的技术挑战

我们的愿景

• 五分钟致力于成为世界领先的 Social G

ame 开发和运营商!

• Five Minutes was established to becom

e a leading Social Game Publisher in th

e world !

Page 4: Social Game的技术挑战

我们的游戏理念

• 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.

Page 5: Social Game的技术挑战

《开心农场》运营成绩平台 当前 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 !

Page 6: Social Game的技术挑战

《开心农场》技术构架

Five Minutes 简介

Social Game 的技术挑战

加入我们吧!

目录

12

1

3

4

Page 7: Social Game的技术挑战

《开心农场》的主要难点

• 如何存储大规模的用户数据(千万级的用户量)

• 如何应对大量的访问 (每天数亿次的请求量)

• 如何应对数据的频繁修改 (每秒数万次数据修改)

Page 8: Social Game的技术挑战

负载均衡

• Web 服务器平行扩展– LVS 或者 DNS 轮询来负责流量分发– 共享 Session

Page 9: Social Game的技术挑战

服务器性能优化• 请求操作处理异步化• 缓存接口数据• Linux 内核参数优化• 挖掘 PHP 的效率

– 用 fastcgi 模式来运行 php

– 用 EAccelerator 来加速– 固定不变的数据做成 php 配置文件– 用 C 来开发 php 扩展

Page 10: Social Game的技术挑战

数据库性能优化

• 数据库分库分表• 所有的数据全部设计成 KEY->VALUE 的形式,

不使用 JOIN

• 使用 Innodb

• 经常操作的数据表中的所有字段尽量设计成数值型的

• 用 UPDATE 替代 INSERT 和 DELETE 操作

Page 11: Social Game的技术挑战

异步处理

• 原则– 把客户端暂时不需要的数据进行异步处理

• 实例– 将非核心数据先写入 Memcached ,异步

更新到数据库– 合并数据库更新操作– Feed 和 Notification 的异步发送

Page 12: Social Game的技术挑战

利用客户端资源

• Flash 屏蔽重复操作和不必要的请求• Flash 进行一些计算来减轻服务器的负

担,例如好友排序等• Flash 缓存一些数据

Page 13: Social Game的技术挑战

Social Game 的技术挑战

Five Minutes 简介

《开心农场》技术构架

加入我们吧!

目录

13

1

2

4

Page 14: Social Game的技术挑战

Social Game 的挑战

Social Game Social Network Game= +

非实时互动+

大负载

实时互动

大负载

+

非实时互动

大负载

+

实时互动

小负载 ( 分服 )

+

Page 15: Social Game的技术挑战

Blue Whale 蓝鲸

Page 16: Social Game的技术挑战

加入我们吧!

Five Minutes 简介

《开心农场》技术构架

Social Game 的技术挑战

目录

14

1

2

3

Page 17: Social Game的技术挑战

加入我们吧!

• C++ Programmer (Linux/Unix)

• Python Programmer

• Flash AS3 Programmer

请发送简历到: [email protected]

让我们一起引领 Social Game 的技术潮流!