- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微信:一亿用户背后架构秘密
作者:投资界 来源: 亿邦动力网 发布时间:2015-03-02
亿邦动力网整理:
微信腾讯战略级产品,创造移动互联网增速记录,10个月5000万手机用户,
433天之内完成用户数从零到一亿的增长过程,千万级用户同时在线,摇一摇每
天次数过亿 ...在技术架构上,微信是如何做到的 ? 日前,在腾讯大讲堂在
中山大学校园宣讲活动上,腾讯广研助理总经理、微信技术总监周颢在两小时的
演讲中揭开了微信背后的秘密。
周颢,2001年毕业于华南理工大学,计算机专业硕士。2005年加入腾讯广
州研发部,历任QQ邮箱架构师,广研技术总监,T4技术专家,微信中心助理
总经理。
周颢把微信的成功归结于腾讯式的 三位一体 策 :即产品精准、项目
敏捷、技术支撑。微信的成功是在三个方面的结合比较好,能够超出绝大多数同
行或对手,使得微信走到比较前的位置。所谓产品精准,通俗的讲就是在恰当的
时机做了恰当的事,推出了重量级功能,在合适的时间以最符合大家需求的方式
推出去。他认为在整个微信的成功中,产品精准占了很大一部分权重。
敏捷是一种态度 敏捷就是试错
微信研发团队里鼓励一种试错的信仰:他们坚信,在互联网开发里,如果能
够有一个团队在更短的时间内尝试了更多机会 (并能改进过来 ) ,就能有
(更多的 ) 机会胜出。敏捷是一种态度,在软件开发过程中,项目管理者都会
非常忌讳 变更 这个词,但是在微信的项目运作中是不可以的。因为微信
必须要容忍说哪怕在发布前的十分钟,也要允许他变更。这是非常大的挑战,因
为打破了所有传统项目开发的常识。所有人都说不可能做到的,但微信做到了。
研发团队所做的一切都是要给产品决策者有最大的自由度,而这个决策正是微信
能够胜出的关键。
亿邦动力网——电子商务专业媒体
海量系统上的敏捷 无异于悬崖边的跳舞
敏捷有很多困境,如果做一个单机版程序,是可以做到很敏捷的,但是腾讯
正在运作的是一个海量系统,有千万级用户同时在线,在一个单独的功能上每天
有百亿级的访问,同时还要保证 99.95% 的可用性。在海量系统上应对项目开
发会有很严谨的规范,都说要尽可能少的变化,因为90%-95% 的错误都是在变
更中产生的,如果系统一直不变更会获得非常高的稳定度,但是微信就是要在悬
崖边跳舞。微信的研发团队要做一些事情,让敏捷开发变得更简单。
如何做到这一切 ? 周颢认为,首先,必须建立起一种狂热的技术信念,就
是一定是可以做到的。然后,需要用一些稳固的技术 (理念 ) 来支撑,例如
大系统小做、让一切可扩展、必须有基础组件、轻松上线 (灰度、灰度、再灰
度 ; 精细监控 ; 迅速响应 ) ...等等来支撑。
四大法器:大系统小做、让一切可扩展、要有基础组件、轻松上线
大系统小做:当设计庞大系统的时候,应该尽量分割成更小的颗粒,使得项
目之间的影响是最小的。一切可扩展:在高稳定度、高性能的系统中间,为了稳
定性能把它设计成不变化的系统,但为了支持敏捷需要让一切的东西都要变得可
以扩展。必须建立基础组件:要解决复杂问题的时候,需要将已有的经验固化下
来,固化下来的东西会成为系统中的一部分。轻松上线:当做了变化并把它从开
发环境中部署到现有的运营环境中去,在这个过程中, 灰度 这个词非常关
键,就是在黑和白之间的选择,必须要变成一种小规模尝试,再逐步扩展到海量
过程中的一个问题。
大系统小做仅仅把模块变得更为清晰,这在海量系统设计开发中是不够的,
还需要在物理环境上进行分离部署,出现问题的时候可以快速发现,并且在最快
的情况下解决掉。
亿邦动力网——电子商务专业媒体
大系统小做 混搭模式
将不同的应用逻辑物理分割独立出来,用户注册登录、LBS逻辑、摇一摇逻
辑、漂流瓶逻辑、消息逻辑独立开来。把关键的逻辑混搭在一起,当所有的逻辑
部署在同一个服务器上,确实也会带来很大敏捷上的好处,因为不需要额外的考
虑部署和监控的问题。在整个微信的逻辑中,可能现在已经有上百种不同的逻辑,
因为会在逻辑的分割上拆分成8-10种做分离部署。
一切可扩展网络协议可扩展、数据存储可扩展
扩展的关键点有两块。一个是网络协议需要扩展,当要升级一个新功能的时
候,会有一些比较大的困难,所以所有协议设计都比较向前兼容,但是向前兼容
还是不够的,因为网络协议设
您可能关注的文档
最近下载
- 哈弗-哈弗H6-产品使用说明书-哈弗H6 1.5T自动两驱精英型-CC6460RM07-哈弗H6(升级版)-使用说明书-中文-01-16.01-01M.pdf
- 《沁园春长沙》名师获奖课例课堂实录.docx
- 通达信公式手册带书签1-60.pdf
- 2024年四川省乐山市中考语文试题卷(含答案解析).docx
- 2024人教版英语七年级上册Starter Unit 3 Welcome 过关单 (答案版).docx
- 德国Wesemann实验室家具资料.ppt VIP
- 偏度和峰度 小于1.96-概述说明以及解释.pdf
- 公路改建工程老桥拆除专项施工方案.doc
- 2022-2023学年江苏省泰州中学高一下学期期中考试英语试卷.pdf VIP
- 离婚协议书模板电子版(通用版).docx
文档评论(0)