SlideShare uma empresa Scribd logo
1 de 17
Social Game 的技术挑战
—— 支持千万级 DAU 的 Social Game 技术构
            架
目录

1     Five Minutes 简介

2   《开心农场》技术构架

3   Social Game 的技术挑战

4       加入我们吧!
我们的愿景
• 五分钟致力于成为世界领先的 Social
  Game 开发和运营商!

• Five Minutes was established to
  become a leading Social Game
  Publisher in the world !
我们的游戏理念
• Our games are designed for NON-
  GAMERS.
• Playing with REAL-FRIENDS is more
  fun than playing alone.
• Lower participation cost: people can
  play 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 !
目录
1    Five Minutes 简介

2
1   《开心农场》技术构架

3   Social Game 的技术挑战

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 缓存一些数据
目录
1    Five Minutes 简介

2   《开心农场》技术构架

3
1   Social Game 的技术挑战

4      加入我们吧!
Social Game 的挑战
Social Game = Social Network +    Game



 实时互动           非实时互动             实时互动
                非实时互动
    +             +
                  +                  +

  大负载            大负载
                 大负载             小负载 ( 分服 )
Blue Whale 蓝鲸
目录
1     Five Minutes 简介

2   《开心农场》技术构架

3   Social Game 的技术挑战

4
1       加入我们吧!
加入我们吧!
• C++ Programmer (Linux/Unix)
• Python Programmer
• Flash AS3 Programmer
请发送简历到: jobs@fminutes.com


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

Mais conteúdo relacionado

Destaque

China game-server-vpn-to-reduce-delay-abroad
China game-server-vpn-to-reduce-delay-abroadChina game-server-vpn-to-reduce-delay-abroad
China game-server-vpn-to-reduce-delay-abroadJ enny
 
构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接 构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接 Renaun Erickson
 
Astral game server
Astral game serverAstral game server
Astral game serverastralgame
 
閒聊Python應用在game server的開發
閒聊Python應用在game server的開發閒聊Python應用在game server的開發
閒聊Python應用在game server的開發Eric Chen
 
How_to_build_GameServer_2
How_to_build_GameServer_2How_to_build_GameServer_2
How_to_build_GameServer_2Peter Rybar
 
Multi thread game server
Multi thread game serverMulti thread game server
Multi thread game serverOnGameServer
 
SDC 3rd 안중원님 - InGame CashShop 개발 하기
SDC 3rd 안중원님 - InGame CashShop 개발 하기SDC 3rd 안중원님 - InGame CashShop 개발 하기
SDC 3rd 안중원님 - InGame CashShop 개발 하기OnGameServer
 
C/C++调试、跟踪及性能分析工具综述
C/C++调试、跟踪及性能分析工具综述C/C++调试、跟踪及性能分析工具综述
C/C++调试、跟踪及性能分析工具综述Xiaozhe Wang
 
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling ToolsTIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling ToolsXiaozhe Wang
 
Building an ActionScript Game Server with over 15,000 Concurrent Connections
Building an ActionScript Game Server with over 15,000 Concurrent ConnectionsBuilding an ActionScript Game Server with over 15,000 Concurrent Connections
Building an ActionScript Game Server with over 15,000 Concurrent Connections Renaun Erickson
 
Server side game_development
Server side game_developmentServer side game_development
Server side game_developmentYekmer Simsek
 

Destaque (11)

China game-server-vpn-to-reduce-delay-abroad
China game-server-vpn-to-reduce-delay-abroadChina game-server-vpn-to-reduce-delay-abroad
China game-server-vpn-to-reduce-delay-abroad
 
构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接 构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接
 
Astral game server
Astral game serverAstral game server
Astral game server
 
閒聊Python應用在game server的開發
閒聊Python應用在game server的開發閒聊Python應用在game server的開發
閒聊Python應用在game server的開發
 
How_to_build_GameServer_2
How_to_build_GameServer_2How_to_build_GameServer_2
How_to_build_GameServer_2
 
Multi thread game server
Multi thread game serverMulti thread game server
Multi thread game server
 
SDC 3rd 안중원님 - InGame CashShop 개발 하기
SDC 3rd 안중원님 - InGame CashShop 개발 하기SDC 3rd 안중원님 - InGame CashShop 개발 하기
SDC 3rd 안중원님 - InGame CashShop 개발 하기
 
C/C++调试、跟踪及性能分析工具综述
C/C++调试、跟踪及性能分析工具综述C/C++调试、跟踪及性能分析工具综述
C/C++调试、跟踪及性能分析工具综述
 
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling ToolsTIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
TIP1 - Overview of C/C++ Debugging/Tracing/Profiling Tools
 
Building an ActionScript Game Server with over 15,000 Concurrent Connections
Building an ActionScript Game Server with over 15,000 Concurrent ConnectionsBuilding an ActionScript Game Server with over 15,000 Concurrent Connections
Building an ActionScript Game Server with over 15,000 Concurrent Connections
 
Server side game_development
Server side game_developmentServer side game_development
Server side game_development
 

Semelhante a Social Game

LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)
LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)
LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)Victor Alonso Lion
 
Maximize Your Production Effort (Chinese)
Maximize Your Production Effort (Chinese)Maximize Your Production Effort (Chinese)
Maximize Your Production Effort (Chinese)slantsixgames
 
Towards scrum of scrums
Towards scrum of scrumsTowards scrum of scrums
Towards scrum of scrumsPin-Ying Tu
 
OpenAI ChatGPT techtalk .pptx
OpenAI ChatGPT techtalk .pptxOpenAI ChatGPT techtalk .pptx
OpenAI ChatGPT techtalk .pptxSimmy41
 
打造你的工具人 Chatbot / Voice Assistant Development 101
打造你的工具人 Chatbot / Voice Assistant Development 101打造你的工具人 Chatbot / Voice Assistant Development 101
打造你的工具人 Chatbot / Voice Assistant Development 101Ryan Chung
 
20210824 #117 - 疫情正是非營利組織數位轉型好時機! (立宜)
20210824 #117 - 疫情正是非營利組織數位轉型好時機! (立宜)20210824 #117 - 疫情正是非營利組織數位轉型好時機! (立宜)
20210824 #117 - 疫情正是非營利組織數位轉型好時機! (立宜)Net Tuesday Taiwan
 
李昶翰:Microsoft Teams – No Space, No Position, and No Distance
李昶翰:Microsoft Teams – No Space, No Position, and No Distance李昶翰:Microsoft Teams – No Space, No Position, and No Distance
李昶翰:Microsoft Teams – No Space, No Position, and No Distance開拓文教基金會
 
开放桌游开发竞技平台申报PPT
开放桌游开发竞技平台申报PPT开放桌游开发竞技平台申报PPT
开放桌游开发竞技平台申报PPTtjumyk
 
利用Nchan快速打造即時通知系統
利用Nchan快速打造即時通知系統利用Nchan快速打造即時通知系統
利用Nchan快速打造即時通知系統herb herb
 
盛大基于Flash的网络应用开发
盛大基于Flash的网络应用开发盛大基于Flash的网络应用开发
盛大基于Flash的网络应用开发zhuangli wang
 
Linux软件工程师
Linux软件工程师Linux软件工程师
Linux软件工程师xiaotingting
 
当我们谈论WebApp - Openparty
当我们谈论WebApp - Openparty当我们谈论WebApp - Openparty
当我们谈论WebApp - OpenpartyXiaoping Feng
 
Building microservices in python @ pycon2017
Building microservices in python @ pycon2017Building microservices in python @ pycon2017
Building microservices in python @ pycon2017Jonas Cheng
 
Mis網管實戰經驗分享
Mis網管實戰經驗分享Mis網管實戰經驗分享
Mis網管實戰經驗分享小翰 蔡
 
yarlungsoft Business Plan 5.1_introduction
yarlungsoft Business Plan 5.1_introductionyarlungsoft Business Plan 5.1_introduction
yarlungsoft Business Plan 5.1_introductionLeon Liu
 
Computer Programming For Everyone
Computer Programming For EveryoneComputer Programming For Everyone
Computer Programming For EveryoneTsungWei Hu
 
快速入坑 Node.js - 0613 SITCON 雲林定期聚
快速入坑 Node.js - 0613 SITCON 雲林定期聚快速入坑 Node.js - 0613 SITCON 雲林定期聚
快速入坑 Node.js - 0613 SITCON 雲林定期聚Lorex L. Yang
 
開放網路與 Mozilla (以及與你何干)
開放網路與 Mozilla (以及與你何干)開放網路與 Mozilla (以及與你何干)
開放網路與 Mozilla (以及與你何干)Bob Chao
 

Semelhante a Social Game (20)

LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)
LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)
LISA ASIA Forum - Localizing Interactive Media & Gamest-version (ZH version)
 
Maximize Your Production Effort (Chinese)
Maximize Your Production Effort (Chinese)Maximize Your Production Effort (Chinese)
Maximize Your Production Effort (Chinese)
 
Towards scrum of scrums
Towards scrum of scrumsTowards scrum of scrums
Towards scrum of scrums
 
OpenAI ChatGPT techtalk .pptx
OpenAI ChatGPT techtalk .pptxOpenAI ChatGPT techtalk .pptx
OpenAI ChatGPT techtalk .pptx
 
打造你的工具人 Chatbot / Voice Assistant Development 101
打造你的工具人 Chatbot / Voice Assistant Development 101打造你的工具人 Chatbot / Voice Assistant Development 101
打造你的工具人 Chatbot / Voice Assistant Development 101
 
20210824 #117 - 疫情正是非營利組織數位轉型好時機! (立宜)
20210824 #117 - 疫情正是非營利組織數位轉型好時機! (立宜)20210824 #117 - 疫情正是非營利組織數位轉型好時機! (立宜)
20210824 #117 - 疫情正是非營利組織數位轉型好時機! (立宜)
 
李昶翰:Microsoft Teams – No Space, No Position, and No Distance
李昶翰:Microsoft Teams – No Space, No Position, and No Distance李昶翰:Microsoft Teams – No Space, No Position, and No Distance
李昶翰:Microsoft Teams – No Space, No Position, and No Distance
 
开放桌游开发竞技平台申报PPT
开放桌游开发竞技平台申报PPT开放桌游开发竞技平台申报PPT
开放桌游开发竞技平台申报PPT
 
利用Nchan快速打造即時通知系統
利用Nchan快速打造即時通知系統利用Nchan快速打造即時通知系統
利用Nchan快速打造即時通知系統
 
盛大基于Flash的网络应用开发
盛大基于Flash的网络应用开发盛大基于Flash的网络应用开发
盛大基于Flash的网络应用开发
 
盛大基于Flash的网络应用开发
盛大基于Flash的网络应用开发盛大基于Flash的网络应用开发
盛大基于Flash的网络应用开发
 
Linux软件工程师
Linux软件工程师Linux软件工程师
Linux软件工程师
 
当我们谈论WebApp - Openparty
当我们谈论WebApp - Openparty当我们谈论WebApp - Openparty
当我们谈论WebApp - Openparty
 
Building microservices in python @ pycon2017
Building microservices in python @ pycon2017Building microservices in python @ pycon2017
Building microservices in python @ pycon2017
 
Mis網管實戰經驗分享
Mis網管實戰經驗分享Mis網管實戰經驗分享
Mis網管實戰經驗分享
 
智能 Bot 應用情境分享
智能 Bot 應用情境分享智能 Bot 應用情境分享
智能 Bot 應用情境分享
 
yarlungsoft Business Plan 5.1_introduction
yarlungsoft Business Plan 5.1_introductionyarlungsoft Business Plan 5.1_introduction
yarlungsoft Business Plan 5.1_introduction
 
Computer Programming For Everyone
Computer Programming For EveryoneComputer Programming For Everyone
Computer Programming For Everyone
 
快速入坑 Node.js - 0613 SITCON 雲林定期聚
快速入坑 Node.js - 0613 SITCON 雲林定期聚快速入坑 Node.js - 0613 SITCON 雲林定期聚
快速入坑 Node.js - 0613 SITCON 雲林定期聚
 
開放網路與 Mozilla (以及與你何干)
開放網路與 Mozilla (以及與你何干)開放網路與 Mozilla (以及與你何干)
開放網路與 Mozilla (以及與你何干)
 

Mais de ematrix

Flex Ioc 框架概览
Flex Ioc 框架概览Flex Ioc 框架概览
Flex Ioc 框架概览ematrix
 
Flex Ioc 框架概览
Flex Ioc 框架概览Flex Ioc 框架概览
Flex Ioc 框架概览ematrix
 
青岛106处老建筑钢笔画欣赏
青岛106处老建筑钢笔画欣赏青岛106处老建筑钢笔画欣赏
青岛106处老建筑钢笔画欣赏ematrix
 
事件模型探究
事件模型探究事件模型探究
事件模型探究ematrix
 
Flex体系架构剖析
Flex体系架构剖析Flex体系架构剖析
Flex体系架构剖析ematrix
 
Flex For Flash Developers Ff 2006 Final
Flex For Flash Developers Ff 2006 FinalFlex For Flash Developers Ff 2006 Final
Flex For Flash Developers Ff 2006 Finalematrix
 

Mais de ematrix (6)

Flex Ioc 框架概览
Flex Ioc 框架概览Flex Ioc 框架概览
Flex Ioc 框架概览
 
Flex Ioc 框架概览
Flex Ioc 框架概览Flex Ioc 框架概览
Flex Ioc 框架概览
 
青岛106处老建筑钢笔画欣赏
青岛106处老建筑钢笔画欣赏青岛106处老建筑钢笔画欣赏
青岛106处老建筑钢笔画欣赏
 
事件模型探究
事件模型探究事件模型探究
事件模型探究
 
Flex体系架构剖析
Flex体系架构剖析Flex体系架构剖析
Flex体系架构剖析
 
Flex For Flash Developers Ff 2006 Final
Flex For Flash Developers Ff 2006 FinalFlex For Flash Developers Ff 2006 Final
Flex For Flash Developers Ff 2006 Final
 

Social Game