`

读微信一亿用户背后架构秘密

 
阅读更多

微信很风靡,也很正常,一定有标杆。

官方人士把微信的成功归结于腾讯式的“三位一体”策略:即产品精准、项目敏捷、技术支撑。

凡人不应该这么看,首先一条“产品精准”即可略过,TC的山寨文化根深蒂固,“产品精准”更适合解释其内部的生态环境。

第二条“项目敏捷”,这个是利器。

(1)敏捷是积极态度的表征,积极态度是更接近于好运的阶梯,好运是成功的关键要素。

(2)微信必须要容忍说哪怕在发布前的十分钟,也要允许他变更。

(3)研发团队所做的一切都是要给产品决策者有最大的自由度,而这个决策正是微信能够胜出的关键。

(4)如何敏捷?

  • 狂热的技术信念:勿容置疑,这个是必须的。
  • 大系统小做:当设计庞大系统的时候,应该尽量分割成更小的颗粒,使得项目之间的影响是最小的。民间俗称“解藕”。微信做到的不仅仅是逻辑解藕,更是做到了部署解藕。将不同的应用逻辑物理分割独立出来,把关键的逻辑混搭在一起,拆分成8-10种做分离部署。
  • 一切可扩展:在高稳定度、高性能的系统中间,为了稳定性能把它设计成不变化的系统,但为了支持敏捷需要让一切的东西都要变得可以扩展。网络协议需要扩展,可以通过XML描述,再通过工具自动生成所有的代码,这是微信获得快速开发的一个重要的点。数据存储方面是必须可扩展的,会采用KV或者TLV的方式。
  • 必须建立基础组件:要解决复杂问题的时候,需要将已有的经验固化下来,固化下来的东西会成为系统中的一部分。
    • Client/Server自动代码生成框架,10分钟搭建内部服务器
    • 逻辑容器:随时添加新逻辑
    • OssAgent——监控/统计框架:所见即所得的监控报表
    • 存储组件——屏蔽容灾/扩容等复杂问题
  • 轻松上线:当做了变化并把它从开发环境中部署到现有的运营环境中去,在这个过程中,“灰度”这个词非常关键,就是在黑和白之间的选择,必须要变成一种小规模尝试,再逐步扩展到海量过程中的一个问题。

第三条技术支撑,实力见证

(1)架构图



 

(2)技术挑战

  • 从微信的设计中,不管在线还是离线系统表现都应该是一致的
  • 手机信号强弱的变化带来不稳定的因素
  • 如何最小化传输的问题
  • 如何应对高延迟的问题

(3)基于状态同步的协议

  • 微信在系统中做了特殊设计,叫SYNC协议,是参考Activesyec来实现的。特点首先是基于状态同步的协议,只需要推送一个消息到达的通知就可以了,终端收到这个通知就来做消息的同步。
  • 状态同步可以通过状态同步的差值获得最小的数据变更,通过增量的传输得到最小的数据传输量。通过这样的协议设计,微信可以确保消息是稳定到达的,而且是按序到达。

引用一句话做结尾,可怕的不是微信,真正可怕的是,比你领先比你更有天赋的团队比你更努力。

  • 大小: 32.5 KB
分享到:
评论

相关推荐

    微信一亿用户增长的背后的架构秘密

    本文将围绕“微信一亿用户增长的背后的架构秘密”这一主题,结合“微信”、“亿级用户”和“架构”三个关键标签,详细解析微信在用户规模快速扩张过程中如何构建稳定、高效且可扩展的系统。 首先,面对亿级用户的...

    微信之道(讲述微信系统架构的PPT)

    微信,作为全球用户量最大的即时通讯软件之一,其背后的技术架构无疑是众多IT从业者关注的焦点。本资料“微信之道”通过一系列的PPT,深入浅出地揭示了微信的设计哲学、系统架构以及在面对大规模用户和复杂网络环境...

    互联网公司技术架构

    一亿用户增长背后的架构秘密 互联网公司技术架构资料.腾讯.QQGame后台架构 互联网公司技术架构资料.新浪.动态应用平台后端系统与自动化运维系统开发实践 互联网公司技术架构资料.新浪.动态应用平台实践 互联网公司...

    互联网公司技术架构资料-百度_淘宝_腾讯_新浪

    互联网公司技术架构资料.百度.海量日志分析架构 互联网公司技术架构资料....一亿用户增长背后的架构秘密 互联网公司技术架构资料.新浪.SinaAppEngine架构 互联网公司技术架构资料.新浪微博.构建高性能的微博系统

    微信之道201204

    网上找的资源:在技术架构上,微信是如何做到的?日前,在腾讯大讲堂在中山大学校园宣讲活动上,腾讯广研助理总经理、微信技术总监周颢在两小时的演讲中揭开了微信背后的秘密。

    互联网公司技术架构系列资料-新浪.百度.腾讯.淘宝

    一亿用户增长背后的架构秘密.pdf"中,我们可以学习到微信在面对用户量激增时的应对策略,如水平扩展、服务化改造、弹性计算等,以及如何处理社交网络中的海量数据和复杂交互。 "百度.数据库架构演变与设计.pdf"则...

    Java资料汇集123

    最后,《腾讯微信技术总监周颢:一亿用户增长背后的架构秘密(全文 PPT).pdf》和《网易开源.pptx》分别展示了腾讯微信团队和网易的开源实践,它们可能提供了如何利用Java进行高并发、大数据处理和快速迭代的策略,...

    LianJiaAPI:上海优房微信小程序后端

    本文将深入探讨LianJiaAPI的架构设计、功能实现以及与Java技术栈的结合,以揭示其高效稳定运行的秘密。 首先,LianJiaAPI是这个项目的核心部分,它是接口服务的集合,负责处理微信小程序前端的请求,提供数据支持。...

    浅论腾讯知识产权管理体系精选版.pdf

    虽然腾讯的知识产权管理制度细节鲜为人知,但其高效、顺畅的运作表明,背后必定有一套严谨的制度作为支撑。腾讯在保持开放、共享的互联网精神的同时,也注重保密工作,确保知识产权的安全。 总的来说,腾讯的知识...

Global site tag (gtag.js) - Google Analytics