资源描述:
《亿在线背后的故事ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、腾讯大讲堂走进北航2011.10.31Djt.open.qq.com1.4亿在线背后的故事腾讯科技(深圳)有限公司即通平台部高级技术总监icezhuang——QQIM后台架构的演化与启示自我介绍2001-中国科学技术大学计算机系本科毕业2004-中国科学院计算技术研究所硕士毕业2004-进入腾讯,参与IM后台研发运营T4专家即通平台部高级技术总监公司软件开发通道分会会长经历了QQ在线从千万级到亿级的过程7亿活跃账户1.4亿同时在线过万台IM服务器百亿级的关系链对数每天千亿级的服务请求99.99%的可用性团队经历了QQ在线从10万到1.4亿的整个过程,吸取了很多教训对海量服务的理解是长期积累的结
2、果目录从十万级到百万级在线千万级在线亿级在线总结IM后台1.0适用情况同时在线数较低(十万级)业务功能非常简单接入服务器存储服务器UIN10003,[FriendUin,Flag]升序FList,L1FList,L2FList,L31.0接入服务器的核心数据结构0110001100021000310004POS0POS1POS2POS3UIN10001LEVEL1,POS1UIN10004LEVEL1,POS3UIN10002LEVEL2,POS2UIN10003LEVEL3,POS1UIN,标志位,资料在线状态,IP/Port好友表位置OnlineIndexOnlineRecordIM后台1
3、.0的典型业务流程登录实时通知定期拉取在线状态的获取接入服务器存储服务器IM后台1.5需要更好地支持业务支持视频、语音、传文件等实时宽带业务支持更多类型的用户资料增加长连接服务器为无法直连的客户端进行实时宽带数据中转对存储服务器进行轻重分离核心服务器保证稳定扩展服务器快速支持业务长连接服务器扩展存储服务器接入服务器核心存储服务器第一代架构难以支持百万级在线达到一百万在线时,老架构会有各方面的瓶颈出现以接入服务器的内存为例,单个在线用户的存储量约为2KB索引和在线状态50字节好友表400个好友*5字节/好友=2000字节大致来说,2G内存只能支持一百万在线用户进一步地,还有CPU/网卡包量和流量
4、/交换机流量等瓶颈其他服务器也有类似情况单台服务器支撑不下所有在线用户/注册用户第一代架构无以为继,必须升级!IM后台2.0单台服务器扩展成集群增加状态同步服务器在接入服务器之间同步在线状态UIN10001LEVEL1,POS1UIN10004LEVEL1,POS32.0接入服务器的核心数据结构0110001100021000310004LocalPOS0LocalPOS1RemotePOS2RemotePOS3OnlineIndexLocalOnlineRecordUIN10002@ServerID3UIN10003@ServerID5RemoteOnlineRecordUIN在线状态,IP
5、/Port接入服务器IDIM后台2.0的典型业务流程2001年,QQ同时在线突破一百万登录定期拉取实时通知在线状态的获取(三种方式)IM后台2.5支持QQ群等新业务启示:十万级到百万级在线的关键技术高性能;7乘24小时连续服务Kenny“违抗”PonyMa的故事ARPU对比:中国移动73,腾讯2.5PCU/Box:某著名IM数万;QQ数十万CTO:IT成本的高低决定互联网企业的存亡只用传统IT行业1/10到1/100的IT成本高性能OICQ的故事用户忍耐度对比:信用卡系统维护VS用脚投票7乘24小时连续服务QQ后台如何实现高性能绝不使用企业级解决方案逻辑层多进程万有一失的无锁设计用户态IPCM
6、ySQL分库分表好友表自写文件存储……接入服务器接入进程登录进程好友进程状态进程用户10003,好友表:10001,0x0;10020,0x0用户10003,好友表:10001,0x0;10020,0x1用户10003,好友表:10001,0x0;10005,0x1;10020,0x0QQ后台如何实现高性能绝不使用企业级解决方案逻辑层多进程万有一失的无锁设计用户态IPCMySQL分库分表好友表自写文件存储……UIN10001UIN10001FList,L2FList,L3UIN10001LEVEL1,POS1UIN10004LEVEL1,POS3OnlineRecordUIN10004UIN1
7、000?QQ后台如何实现7乘24小时连续服务大系统小做平滑重构在高速行驶的列车上更换发动机核心数据放入共享内存接入层与逻辑层分离命令分发动态配置化目录从十万级到百万级在线千万级在线亿级在线总结第二代架构难以支持千万级在线同步流量太大,状态同步服务器遇到单机瓶颈所有在线用户的在线状态信息量太大,单台接入服务器存不下如果在线数进一步增加,则甚至单台状态同步服务器也存不下单台状态同步服务器支撑不下所有在