腾讯大讲堂:1.4亿在线背后的IM后台架构演进与容灾改造

需积分: 0 3 下载量 50 浏览量 更新于2024-07-10 收藏 1.39MB PPT 举报
"该资源是腾讯大讲堂的一次分享,讲述了腾讯如何进行业务集群的容灾改造,以应对1.4亿用户同时在线的挑战。分享者是即通平台部高级技术总监icezhuang,他介绍了QQIM后台架构从十万级到亿级在线的演化过程,并分享了在海量服务中积累的经验和教训。" 在此次分享中,icezhuang首先介绍了早期的IM后台1.0架构,这是一个适用于同时在线数较低(十万级)且业务功能简单的场景。接入服务器是核心部分,其中包含了用户信息、在线状态和好友列表等关键数据。每个用户的资料按照UIN(用户标识)和标志位进行排序,通过POS(位置索引)来定位用户。登录和在线状态获取等基础业务流程主要通过接入服务器与存储服务器交互来完成。 随着用户数量的增长,原有的架构面临挑战。IM后台进化到1.5版本,为了支持视频、语音等实时宽带业务以及更丰富的用户资料,增加了长连接服务器,负责处理不能直接连接的客户端的实时数据传输。同时,存储服务器进行了轻重分离,核心服务器保证稳定性,扩展服务器则用于快速支持新业务,以提高系统可扩展性和稳定性。 然而,当在线用户达到百万级别时,原有架构的内存瓶颈变得明显。例如,每个在线用户的存储量约为2KB,随着用户数增加,接入服务器的内存需求急剧增长。为了解决这个问题,腾讯开始进行业务集群的容灾改造,包括在不同IDC(IDC1和IDC2)部署业务集群和指挥中心,实现跨IDC的冗余和负载均衡,以提升系统的可用性和容灾能力。 在千万级和亿级在线阶段,腾讯进一步优化了架构,可能涉及分布式存储、负载均衡策略、数据同步机制以及更复杂的故障切换和恢复策略。这些改造确保了即使面对如此庞大的用户基数,也能保持99.99%的高可用性,处理每天千亿级别的服务请求。 总结来说,腾讯通过不断的架构迭代和容灾改造,成功地支撑了从十万级到亿级用户的在线服务。这个过程中,他们积累了对海量服务的深刻理解,包括但不限于:系统设计的可扩展性、高可用性的重要性、数据分片与冗余备份、跨IDC的分布式部署以及实时业务的处理能力。这些经验对于其他面临类似挑战的大型互联网公司具有重要的参考价值。