您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 营销创新 > 01_1.4亿在线用户背后的启示
腾讯大讲堂DJT.QQ.COM腾讯大讲堂分享相伴成长DJT.QQ.COM腾讯大讲堂DJT.QQ.COM1.4亿在线背后的故事腾讯科技(深圳)有限公司即通平台部高级技术总监icezhuang——QQIM后台架构的演化与启示腾讯大讲堂DJT.QQ.COM自我介绍2001-中国科学技术大学计算机系本科毕业2004-中国科学院计算技术研究所硕士毕业2004-进入腾讯,参与IM后台研发运营T4专家即通平台部高级技术总监公司软件开发通道分会会长经历了QQ在线从千万级到亿级的过程腾讯大讲堂DJT.QQ.COM7亿活跃账户1.4亿同时在线过万台IM服务器百亿级的关系链对数每天千亿级的服务请求99.99%的可用性团队经历了QQ在线从10万到1.4亿的整个过程,吸取了很多教训对海量服务的理解是长期积累的结果腾讯大讲堂DJT.QQ.COM目录从十万级到百万级在线千万级在线亿级在线总结腾讯大讲堂DJT.QQ.COMIM后台1.0适用情况同时在线数较低(十万级)业务功能非常简单接入服务器存储服务器腾讯大讲堂DJT.QQ.COMUIN10003,[FriendUin,Flag]升序FList,L1FList,L2FList,L31.0接入服务器的核心数据结构0110001100021000310004POS0POS1POS2POS3UIN10001LEVEL1,POS1UIN10004LEVEL1,POS3UIN10002LEVEL2,POS2UIN10003LEVEL3,POS1UIN,标志位,资料在线状态,IP/Port好友表位置OnlineIndexOnlineRecord腾讯大讲堂DJT.QQ.COMIM后台1.0的典型业务流程登录实时通知定期拉取在线状态的获取接入服务器存储服务器腾讯大讲堂DJT.QQ.COMIM后台1.5需要更好地支持业务支持视频、语音、传文件等实时宽带业务支持更多类型的用户资料增加长连接服务器为无法直连的客户端进行实时宽带数据中转对存储服务器进行轻重分离核心服务器保证稳定扩展服务器快速支持业务长连接服务器扩展存储服务器接入服务器核心存储服务器腾讯大讲堂DJT.QQ.COM第一代架构难以支持百万级在线达到一百万在线时,老架构会有各方面的瓶颈出现以接入服务器的内存为例,单个在线用户的存储量约为2KB索引和在线状态50字节好友表400个好友*5字节/好友=2000字节大致来说,2G内存只能支持一百万在线用户进一步地,还有CPU/网卡包量和流量/交换机流量等瓶颈其他服务器也有类似情况单台服务器支撑不下所有在线用户/注册用户第一代架构无以为继,必须升级!腾讯大讲堂DJT.QQ.COMIM后台2.0单台服务器扩展成集群增加状态同步服务器在接入服务器之间同步在线状态长连接集群状态同步服务器接入集群存储集群腾讯大讲堂DJT.QQ.COMUIN10001LEVEL1,POS1UIN10004LEVEL1,POS32.0接入服务器的核心数据结构0110001100021000310004LocalPOS0LocalPOS1RemotePOS2RemotePOS3OnlineIndexLocalOnlineRecordUIN10002@ServerID3UIN10003@ServerID5RemoteOnlineRecordUIN在线状态,IP/Port接入服务器ID腾讯大讲堂DJT.QQ.COMIM后台2.0的典型业务流程长连接集群状态同步服务器接入集群存储集群2001年,QQ同时在线突破一百万登录实时通知定期拉取在线状态的获取(三种方式)腾讯大讲堂DJT.QQ.COMIM后台2.5支持QQ群等新业务群贴图服务器状态同步服务器接入集群存储集群群消息转发集群QQ群服务器腾讯大讲堂DJT.QQ.COM启示:十万级到百万级在线的关键技术高性能;7乘24小时连续服务Kenny“违抗”PonyMa的故事ARPU对比:中国移动73,腾讯2.5PCU/Box:某著名IM数万;QQ数十万CTO:IT成本的高低决定互联网企业的存亡只用传统IT行业1/10到1/100的IT成本高性能OICQ的故事用户忍耐度对比:信用卡系统维护VS用脚投票7乘24小时连续服务腾讯大讲堂DJT.QQ.COMQQ后台如何实现高性能绝不使用企业级解决方案逻辑层多进程万有一失的无锁设计用户态IPCMySQL分库分表好友表自写文件存储……接入服务器接入进程登录进程好友进程状态进程用户10003,好友表:10001,0x0;10020,0x0用户10003,好友表:10001,0x0;10020,0x1用户10003,好友表:10001,0x0;10005,0x1;10020,0x0腾讯大讲堂DJT.QQ.COMQQ后台如何实现高性能绝不使用企业级解决方案逻辑层多进程万有一失的无锁设计用户态IPCMySQL分库分表好友表自写文件存储……UIN10001UIN10001FList,L2FList,L3UIN10001LEVEL1,POS1UIN10004LEVEL1,POS3OnlineRecordUIN10004UIN1000?腾讯大讲堂DJT.QQ.COMQQ后台如何实现7乘24小时连续服务大系统小做平滑重构在高速行驶的列车上更换发动机核心数据放入共享内存接入层与逻辑层分离命令分发动态配置化腾讯大讲堂DJT.QQ.COM目录从十万级到百万级在线千万级在线亿级在线总结腾讯大讲堂DJT.QQ.COM第二代架构难以支持千万级在线同步流量太大,状态同步服务器遇到单机瓶颈所有在线用户的在线状态信息量太大,单台接入服务器存不下如果在线数进一步增加,则甚至单台状态同步服务器也存不下单台状态同步服务器支撑不下所有在线用户单台接入服务器支撑不下所有在线用户的在线状态信息第二代架构无以为继,必须再次升级!腾讯大讲堂DJT.QQ.COMIM后台3.0状态同步服务器改造成同步集群其他集群也做相应的改造2005年,QQ同时在线突破一千万QQ群业务集群长连接集群同步集群接入集群存储集群Y业务集群X业务集群腾讯大讲堂DJT.QQ.COM根本来不及高兴:我们再也受不了了!手机从不敢离身发布新代码提心吊胆时不时要扩容,又烦又怕时不时要紧急恢复服务时不时被用户骂、被老板K到底怎么了?腾讯大讲堂DJT.QQ.COM深入分析,我们发现了什么后台机器越来越多,单机死机/故障经常出现,IDC故障也不少,影响服务,也影响人员生活每周有新代码发布,BUG不断出现,严重影响服务监控机制原始、报警设置不全,出事了都不知道运维操作通过vim或者mysql进行,非常容易失误腾讯大讲堂DJT.QQ.COM问题分析和解决(1)后台机器越来越多,单机死机/故障经常出现,IDC故障也不少,影响服务,也影响人员生活传统行业设备少单价高,故障很少出现互联网行业设备多单价低,故障是常态腾讯大讲堂DJT.QQ.COMIM后台3.0的容错/容灾分析长连接集群同步集群接入集群存储集群若干个业务集群每个集群只有一份机器选择全人工配置集中在一个IDC腾讯大讲堂DJT.QQ.COMIDC的实际可用性只有2个9老架构没前途,必须进行容灾改造!租来的IDC的级别:B或C腾讯大讲堂DJT.QQ.COM容灾改造的思路存储集群:半自动切换模式主/从服务器从服务器死机,业务不受影响主服务器死机,多数命令不受影响,修改资料命令受影响业务集群、接入集群、同步集群:自动切换模式迅速应对死机等情况,基本不影响业务分布在两套IDC可以应对IDC整体故障腾讯大讲堂DJT.QQ.COM业务集群的容灾改造业务命令流设备状态流接入集群业务集群@IDC1业务集群@IDC2指挥中心@IDC1指挥中心@IDC2腾讯大讲堂DJT.QQ.COM问题分析和解决(2)每周有新代码发布,BUG不断出现,严重影响服务大部分子系统每周发布一个版本的新代码解决方法代码review灰度发布腾讯大讲堂DJT.QQ.COM第一周周末灰度发布演示号段7-8号段7-8号段5-6号段5-6号段3-4号段3-4号段1-2号段1-2第一周周一第一周周二第一周周三第一周周四第一周原来周一周二周三周四腾讯大讲堂DJT.QQ.COM问题分析和解决(3)监控机制原始、报警设置不全,出事了都不知道CPU100%的故事解决方法完善监控和报警腾讯大讲堂DJT.QQ.COM完善监控和报警腾讯大讲堂DJT.QQ.COM完善监控和报警腾讯大讲堂DJT.QQ.COM完善监控和报警腾讯大讲堂DJT.QQ.COM完善监控和报警腾讯大讲堂DJT.QQ.COM完善监控和报警腾讯大讲堂DJT.QQ.COM问题分析和解决(4)运维操作通过vim或者mysql进行,非常容易失误Grandy的故事解决方法运维操作Web化(半自动化)、自动化•IM后台3.5的运维页面已经废除,后面有IM后台4.0的运维页面截图腾讯大讲堂DJT.QQ.COM服务可用性终于提升到了行业先进水平腾讯大讲堂DJT.QQ.COMIM后台3.5架构长连接集群同步集群接入集群存储集群若干个业务集群长连接集群同步集群接入集群存储集群若干个业务集群容灾指挥集群IDC1IDC2运维控制集群监控报警集群容灾指挥集群运维控制集群监控报警集群运维控制集群监控报警集群监控报警集群运维控制集群监控报警集群运维控制集群监控报警集群运维控制集群监控报警集群容灾指挥集群运维控制集群监控报警集群运维控制集群监控报警集群容灾指挥集群容灾指挥集群运维控制集群监控报警集群运维控制集群监控报警集群腾讯大讲堂DJT.QQ.COM启示:千万级在线的关键技术对外提供高可用性的服务对内提供高可运维性的系统灰度发布运营监控容灾运维自动化/半自动化高可用性;高可运维性腾讯大讲堂DJT.QQ.COM目录从十万级到百万级在线千万级在线亿级在线总结腾讯大讲堂DJT.QQ.COM随着亿时代的接近,新烦恼又来了灵活性:“昵称”长度增加一半,需要两个月增加“故乡”字段,需要两个月最大好友数从500变成1000,需要三个月亿时代的重要能力:上万好友隐私权限控制PCQQ与手机QQ别互踢微信与QQ互通异地容灾IM后台从1.0到3.5都是在原来基础上做改造升级,但是:持续打补丁已经难以支撑亿级在线IM后台4.0必须从头开始,重新设计实现!太差!想都别想!腾讯大讲堂DJT.QQ.COMIM后台4.0存储系统架构腾讯大讲堂DJT.QQ.COMIM后台4.0存储系统运维页面腾讯大讲堂DJT.QQ.COMIM后台4.0存储系统成果历时3年完成千万级好友隐私权限控制灵活扩展字段高可运维性运维操作组件化负载自动转移高性能自写存储层腾讯大讲堂DJT.QQ.COMIM后台4.0通信系统逻辑架构腾讯大讲堂DJT.QQ.COMIM后台4.0通信系统物理架构腾讯大讲堂DJT.QQ.COMIM后台4.0通信系统运维页面腾讯大讲堂DJT.QQ.COMIM后台4.0通信系统阶段成果历时2+年完成多点登录支持5至10亿个实例同时在线方便接入微信等多种业务区域自治高可运维性物理架构详细到机架故障分析智能化腾讯大讲堂DJT.QQ.COM启示:亿级在线的关键技术提供高灵活性的业务支持传统IT行业可以半年到两年出一个新版本互联网行业要求每个月出一个新版本同时保持高性能、高可用性、高可运维性高性能;高可用性;高可运维性;高灵活性腾讯大讲堂DJT.QQ.COM腾讯IM服务的未来之路全球化分布高效率的研发监控告警的智能化腾讯大讲堂DJT.QQ.COM目录从十万级到百万级在线千万级在线亿级在线总结腾讯大讲堂DJT.QQ.COMQQIM后台技术演化的启示1.0十万级、2.0百万级高性能;7乘24小时连续服务3.0千万级高可用性;高可运维性4.0亿级高性能;高可用
本文标题:01_1.4亿在线用户背后的启示
链接地址:https://www.777doc.com/doc-4488249 .html