腾讯IM容灾改造:从十万到亿级在线的演进

需积分: 10 4 下载量 90 浏览量 更新于2024-08-25 收藏 2.2MB PPT 举报
"这篇资料是关于腾讯服务器的容灾改造思路和QQIM后台架构的演化的分享,由腾讯即通平台部高级技术总监icezhuang在2011年腾讯大讲堂走进北航的演讲内容。" 在容灾改造的思路中,主要讨论了如何确保业务的高可用性和稳定性。存储集群采用了半自动切换模式,当主服务器发生故障时,虽然部分修改资料的命令会受到影响,但业务整体仍能保持运行,从服务器死机不会影响业务。而业务集群、接入集群、同步集群则采用自动切换模式,能在服务器死机时快速响应,基本不影响业务的正常运行。为了提高容灾能力,这些集群分布在两个不同的IDC,这样即使一个IDC出现整体故障,也能保证服务的连续性。 接着,icezhuang分享了QQIM后台架构的演化历程。最初版本的IM后台1.0适用于同时在线人数较少(十万级)且业务功能简单的场景。接入服务器的核心数据结构以UIN(用户ID)为主,按[FriendUin, Flag]升序排列,分为多个FList,每个FList对应不同的存储服务器。登录和在线状态获取是通过接入服务器与存储服务器之间的交互完成的。 随着用户数量的增长,IM后台升级到了1.5版本,以支持更复杂的业务需求,如视频、语音、文件传输等实时宽带服务,以及更多类型的用户资料。这一阶段引入了长连接服务器,用于处理无法直连客户端的实时宽带数据中转,并对存储服务器进行了轻重分离,以核心服务器保证稳定性,扩展服务器则负责快速支持业务变化。 然而,随着用户规模进一步扩大到百万级,在线用户存储量的增加导致了旧架构的内存瓶颈问题。这表明随着业务发展,系统架构需要不断优化和调整,以应对更大的并发量和服务复杂性。冰冻三尺非一日之寒,对于海量服务的理解和处理是通过长期实战经验积累而来的。 这篇资料揭示了腾讯在保障服务高可用性方面所采取的策略,包括容灾改造、服务器集群的自动切换机制,以及后台架构的迭代优化,这些都为大规模互联网服务的设计提供了宝贵的经验和启示。