腾讯大讲堂揭秘:百万级在线挑战与架构升级

需积分: 3 6 下载量 102 浏览量 更新于2024-08-19 收藏 1.39MB PPT 举报
在腾讯大讲堂走进北京航空航天大学的一次讲座中,腾讯即通平台部高级技术总监icezhuang分享了关于QQ即时通讯(IM)后台架构演化的经验。该讲座发生在2011年10月31日,主题围绕1.4亿在线用户背后的技术挑战和解决方案。冰庄提到,当QQIM的在线用户数量从十万级增长到亿级时,原有的第一代架构面临了严重的性能瓶颈。 第一代架构主要针对低并发量(十万级)和简单业务功能设计,其核心数据结构如接入服务器中的UIN(用户唯一标识符)和好友表存储相当紧凑,每个在线用户的存储量大约为2KB,其中包括索引、在线状态(IP/Port)以及好友表的位置信息。然而,随着用户数量的爆炸式增长,这个基础架构变得难以胜任,特别是在内存占用方面,单台服务器仅能支持大约一百万在线用户,因为每个用户的额外存储需求(如好友表)会迅速累积。 瓶颈不仅限于内存,还包括CPU和网络资源,如包量限制、流量管理和交换机流量。随着业务复杂性的提升,如支持视频、语音和文件传输等实时宽带业务,对服务器的处理能力和存储需求提出了更高要求。为了应对这些挑战,腾讯不得不升级到第二代架构: 1. **IM后台1.5**:这个版本引入了长连接服务器来处理实时宽带数据中转,为无法直接连接的客户端提供服务。同时,对存储服务器进行了轻重分离,核心服务器确保稳定性,而扩展服务器则快速响应业务需求,提高了系统的可扩展性和效率。 2. **核心与扩展分离**:接入服务器和核心存储服务器被明确区分,核心服务器负责处理关键操作,而扩展服务器用于处理非核心任务,这样可以确保关键服务的高可用性和响应速度。 总结起来,从第一代架构到第二代的演变,体现了腾讯在面对海量用户时如何通过架构优化和技术创新来提升系统容量、性能和稳定性,确保即使在1.4亿在线用户的高峰下,也能维持99.99%的可用性。这个过程不仅是技术上的突破,也是对海量服务理解和实践经验的积累。