体彩排列五 www.8r31a.com.cn 体彩排列五 > 上网技巧 > 电脑小技巧 > 腾讯简而美的微信后台架构

腾讯简而美的微信后台架构

时间:2015-09-01 10:37 作者:QQ地带 我要评论

问题
极致的业务特性
流畅的消息收发
及时的通知
省电
省流量
瘦客户端
 
困难的后台-终端同步
同步多样数据:账户信息、通讯录、消息、朋友圈等
及时通知与同步
移动网络下的可靠同步
省流量与电量
 
方案
极简的同步协议
后台与终端只需要沟通一个数字,后台即可知道终端缺失的所有数据。
变更序列号/版本号:
后台对用户数据的每项变更,都赋予一个单调递增的序列号,即用户的每项数据都有一个全局递增序列号。
后台每次给终端发送数据都会带上所发送的所有数据的最大序列号。
终端每次请求数据时都会带上已经接受到的最大序列号。
 
高效的通知机制
ios Apple Push Network Service
Android等-长连接
GPRS/EDGE信令风暴优化
自适应心跳间隔调节
 
三层后台架构
 
 
统一的RPC框架
根据ProtocolBuffer定义生成服务器框架和客户端
  服务器:开发人员填充接口实现
  客户端: 应用方本地调用客户端提供的接口函数
屏蔽网络细节
  支持基于TCP/UDP的网络调用
  支持长短连接
丰富的功能
  基于sharding的SET分布
  基于一致性哈希的无状态存储
服务透明重定向
  丰富的自动化监控:(1)QPS;(2)响应时间;(3)排队时间;(4)各个接口的调用频率与返回状态码分布;(5)各个服务之间的调用拓扑
 
高并发的协程RPC
服务器同步的调用模型相较异步模型更容易学习、使用和调错。但一台服务器支撑的进程数和线程数是非常有限的。
 
基于用户态线程(协程)的RPC
 
  单机可以支撑数万甚至十万的用户态线程,仅受CPU和内存约束
  提高并发性和性能
 
用户态线程RPC的实现
 
基于makecontext/getcontext/swapcontext
Hook Network: read/write/epoll
用户态线程调度
就近访问
就近访问IDC
就近网络接入:覆盖各大运营商
CDN:上传下载图片
腾讯自建CDN
AKAMAI
多IDC分布提升用户体验
国内复杂的网络环境
超过1亿的海外用户
分布在全球
更为多样化的网络环境
每个IDC都提供完整的功能和所需访问的所有数据
每个IDC有共同的数据和独立数据
账户信息全球一致
用户数据各自独立:(1)一个用户只属于某个IDC;(2)用户属性、关系链、消息;(3)按需共享的SNS数据-照片、评论、红心,减少网络同步带宽消耗
IDC分布数据的高可靠最终一致性保证
账户数据和SNS数据主备访问模型
用户所在的IDC是主IDC
其他IDC相对这个用户所在IDC都是备IDC
更新由主扩散到备
弱实时性跨IDC更新采用基于Zookeeper仲裁的主备任务队列
收??鏘DC访问接口
重做保证跨IDC更新的可靠性
数据序列号在重做时保证达到最终一致性
关系链跨IDC更新
隐私控制要求实时性
直接跨IDC网络调用
后台批处理重试失败请求
容错和容灾机制
单IDC
用户按SET分布,各个SET之间独立
...
高可用的异地容灾
每个服务的主IDC都有一个灾备IDC
挑战:终端在主备IDC切换时的无缝连接;主备间的数据一致性。

标签: 微信
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告

  • 我国核电四十年走出逆袭之路 2019-04-18
  • 难以置信!世界杯开幕式歌手当全世界球迷面竖中指 2019-04-18
  • 他帖子里的出重拳扫黑恶反映了现实的残酷性,像是打土匪一样紧张 2019-04-18
  • 天生三条腿 半岁牛犊活成“牛坚强” 2019-04-18
  • 职务科技成果转化奖金享个税优惠 2019-04-17
  • 【亲爱的同学,去相信,去仰视,向着梦想的方向。祝愿你收获最满意的高考结果,我们期待着,当八月荷塘花开,与你在清华园再次相遇】。。。【话外音;”理想“没有了,你就 2019-04-17
  • 安徽构建“三有”型稳定脱贫新模式 带动贫困户增收 2019-04-17
  • 日照开通至中亚集装箱国际班列 2019-04-16
  • 功效超乎你想象!这九种素食不但能防病还能治病 2019-04-16
  • 联播快讯:第五届中国-南亚博览会今天开幕 2019-04-16
  • 《泄密者》佘诗曼出演正义记者 追问学生:我和周秀娜谁漂亮 2019-04-15
  • 端午话药浴:探秘藏东山谷里的藏药浴 2019-04-15
  • 浙大科研团队15载攻克歼20等飞机装配系列难题 2019-04-15
  • 美联储加息将引发全球金融再平衡 2019-04-14
  • 马克思主义通过指导无产阶级革命建立起部分社会财富公有制而改变了人类历史发展进程,离开部分社会财富公有制的建立来谈“改变人类历史发展进程”纯粹是无稽之谈。 2019-04-14
  • 846| 810| 610| 523| 212| 900| 449| 857| 151| 24|