2、关联文章

移动端IM实践:实现Android版微信的智能心跳机制
微信Mars:微信内部正在使用的网络层封装库,即将开源
微信移动端应对弱网络情况的探索和实践PPT [附件下载]
微信异步化改造实践:8亿月活、单机千万连接背后的后台解决方案

3、微信Mars起源

2012 年中,微信支持包括 Android、iOS、Symbian 三个平台。但在各个平台上,微信客户端没有任何统一的基础模块。2012 年的微信正处于高速发展时期,各平台的迭代速度不一、使用的编程语言各异,后台架构也处在不断探索的过程中。多种因素使得各个平台基础模块的实现出现了差异,导致出现多次需要服务器做兼容的善后工作。网络作为微信的基础,重要性不言而喻。任何网络实现的 bug 都可能导致重大事故。例如微信的容灾实现,如果因为版本的实现差异,导致某些版本上无法进行容灾恢复,将会严重的影响用户体验,甚至造成用户的流失。我们亟需一套统一的网络基础库,为微信的高速发展保驾护航。

恰好,这个时候塞班渐入日暮,微信对塞班的支持也逐渐减弱。老大从塞班组抽调人力,组成一个三人小 team 的初始团队,开始着手做通用的基础组件。这个基础组件最初就定位为:跨平台、跨业务的基础组件。现在看,这个组件除了解决了已有问题,还给微信的高速发展带来了很多优势,例如:

  • 基础组件方便了开展专项的网络基础研究与优化。

  • 基础组件为多平台的快速实现提供了有力的支持。