Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PyCon2013China_ZhuHai_wangjian
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Zoom.Quiet
December 08, 2013
Technology
770
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PyCon2013China_ZhuHai_wangjian
PyCon2013China 珠海场 | GDG Livin ZhuHai Life;-)
http://zhgdg.gitcafe.com/2013-12/et-pycon/
Zoom.Quiet
December 08, 2013
More Decks by Zoom.Quiet
See All by Zoom.Quiet
PyCon2014China-Zhuhai-high performance
zoomquiet
0
200
PyCon2014China-Zhuhai-meta programming
zoomquiet
1
180
PyCon2014China-Zhuhai-bpm.py
zoomquiet
0
160
PyCon2014China-Zhuhai-luna kv db
zoomquiet
0
150
PyCon2014China-Zhuhai-seed studio
zoomquiet
0
150
PyCon2014China-Zhuhai-Docker Registry Build By Python
zoomquiet
0
170
PyCon2014China-Zhuhai-jeff
zoomquiet
0
160
PyCon2014China-Zhuhai-pythonic front-end
zoomquiet
0
190
DevFest2014-Zhuhai-Polymer
zoomquiet
0
490
Other Decks in Technology
See All in Technology
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
340
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
120
Driving AI Adoption Using In-House GPUs to Serve Qwen
po3rin
2
470
Snowflakeで実現する全社横断の顧客の声(VOC)分析・活用基盤@Snowflake World Tour Tokyo 2026
yuto16
0
120
薬剤師(ドメインエキスパート)と一緒に育てる薬局向けAIアシスタント
kakehashi
PRO
2
120
Webとヘルスデータ
yukukotani
1
200
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
1.2k
AI-DLCって実際どう? 〜聞きたいこと全部聞いてみる〜
news_it_enj
0
240
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
420
2026/09/10 Spring_Bootから_Jakarta_EE_MicroProfileへの移行
megascus
0
260
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
130
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
280
Featured
See All Featured
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
470
The Spectacular Lies of Maps
axbom
PRO
1
980
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
RailsConf 2023
tenderlove
30
1.5k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
380
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Prompt Engineering for Job Search
mfonobong
0
440
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
580
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
680
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Navigating Team Friction
lara
192
16k
Transcript
王健
None
战网:暗黑破坏神2/3 社区:QQ宠物,TNT,宝石总动员 特征: 多个线路 数据共享
线路通信 线路切换 全服商店(拍卖行) 全服社交(好友,邮件,聊天)
None
海量用户分布式数据库设计 海量用户数据缓存机制 线路负载均衡机制 线路通信事件机制
回顾2011届Pycon介绍的架构
None
None
Game无足够内存加载Mysql所有用户数据 Mysql不支持分布式 Gateway不支持海量客户端并发请求 Game,Admin更难以承担重负 …………
None
分离Mysql,建立分布式数据库集群(DMysql) 扩展DBFront为RDBFront和WDBFront,异步读写 数据,不再将所有数据驻留内存 Gateway,Game,RDBFront,WDBFront, Admin组成一个线路,作为单元嵌入新架构 新架构其实是线路集群,还要解决线路通信和调度
问题
缓存机制,采用分布式Redis完成,客户端分布 (类似共享内存机制) 增加Comm服务,连接所有线路(类似通道机制) 缓存记录各线路的运行及负载情况,比如各线路的 在线人数 增加HGateway,负责线路负载调度,将Client分
配到最合适的线路(http协议)
None
Gateway Game WDBFront RDBFront
None
Route Other Routes DMysql DCache HGateway Client Comm Gateway Game
Game WDBfront RDBfront Game Gateway 注:Client先向HGateway请求线路信息(host), 然后与对应线路的Gateway建立连接
None
根据UID范围分库/表 分析SQL语句,定位目标数据库/表 分布式对用户不可见,与操作单数据库无异
None
按需部署多个Redis服务 对key进行hash,定位目标Redis 分布式对用户不可见,与操作单Redis无异 支持上亿记录,保证性能 可应用于UID自增,角色名重复性检测,拍卖行等
功能
None
Comm连接所有线路的Game 扩展单线路的事件机制,实现远程RPC 事件派发,to为目标线路id,-1代表全服 def trigger_event(to, id, evt): pass
事件回调,from为来源线路id def event_handler(id, evt, from): pass
可应用于全服社交,公告,聊天,好友,邮件等功 能
None
在DCache中记录各线路的在线人数等信息 HGateway根据给定策略分析线路负载情况 Client向HGateway获取负载较低的线路信息,并 连接进入游戏 或支持游戏中切换线路
None
None
None
Game可以分拆为Game-Center和Game-Zone,将整 个游戏世界按区域划分,各区域之间通过中心服务器连 接: Game-Center: 游戏中心服务器,负责各场景服务器的连接,以及玩家 全局行为处理,例如登陆,聊天,公告等等。
Game-Zone: 游戏区域服务器,负责一个区域内的玩家行为处理,区 域可根据各游戏特点灵活划分,例如一般的网页游戏, 玩家行为大部分集中在主城,则区域数量不需要太多。
None
Game这部分可采用天生分布式的语言重写 Erlang函数式编程,开发效率低 Golang有Python的良好基因,是否未来的趋势
网名:风魔W QQ:4331436 微信:wangjianbecks 微博:http://weibo.com/wjbeckie 邮箱:
[email protected]
请联系我!
谢谢观赏