首页 > 科技 >

腾讯官方写论文:微信的技术架构有多复杂

2018-11-26 20:15:15 网络整理 阅读:78 评论:0

腾讯旗下的微信从一个通信工具变成一个庞大..,究竟经历了什么?微信开发者团队最近一篇论文“Overload Control for Scaling WeChat Microservices(超大规模微信微服务中的过载控制)”透露了部分细节,主要讲述了微服务的过载控制。

基于这篇论文,本文核心要点有二。其一,解析微信的后端; 第二,解析微信五年生产化运行过程中,得到实践检验的过载控制系统DAGOR的设计思路。这套系统在设计上专门考虑到微服务架构的特殊性,如果你希望为自己的微服务制定策略,那么本文无疑是一份极好的上手指南。截至目前,微信后端共包含超过3000项移动服务,其中包括即时消息收发、社交网络、移动支付以及第三方验证等等。该..每天接收到的外部请求量在 10^10-10^11次之间,其中每一项请求都会触发更多的内部微服务请求,这意味着微信后端整体每秒需要处理数亿次请求。

微信的微服务系统能够在微信业务系统中的2万多台设备上运行超过3000项服务。而随着微信的广泛普及,这一数字仍然不断增加……伴随着微信的不断发展,微服务系统一直在快速迭代并进行服务更新。举例来说,从2018年3月到5月,微信的微服务系统每天平均经历近千次变化。

微信将其微服务分类为“入口跳转”服务(用于接收外部请求的前端服务)、“共享跳转”服务(中间层协调服务)以及“基本服务”(不向任何其它服务扇出,因此可充当请求接收方的服务)。

腾讯官方写论文:微信的技术架构有多复杂

图:微信的微服务架构

以普通的单日运行场景为例,微信的峰值请求率约为每日平均值的3倍。在一年中的某些特定时段(例如在中国的农历新年期间),峰值工作负载甚至有可能增长至每日平均值的10倍。基于大规模微服务..的过载控制挑战“Overload control… is essential for large-scale online applications that need to enforce 24×7 service availability despite any unpredictable load surge.”(过载控制……对于大规模在线应用程序而言至关重要,这些应用程序需要在遭遇不可预测的负载激增时实现24 x 7全天候服务可用性。)

相关文章