徐晓 qq空间技术架构之峥嵘岁月
TRANSCRIPT
![Page 1: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/1.jpg)
QQ空间技术架构之峥嵘岁月
腾讯Qzone平台徐晓
![Page 2: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/2.jpg)
自我介绍
2006 – 北京邮电大学软件工程学士毕业
2006 – 加入腾讯 参与Qzone研发工作经历Qzone 3.0 / 4.0 / 5.0 / 6.0 重构
Qzone日志重构、平台提速
Qzone平台框架化(开放平台原型)
腾讯Web前端开发专家
![Page 3: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/3.jpg)
我们的海量服务
5.5亿活跃用户数十亿级全站PV
数千万级同时在线每天千亿级的服务请求
数十P级UGC存储量
过万台设备
![Page 4: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/4.jpg)
目录
石器时代 – 从十万在线到百万在线
冷兵器时代 – 百万在线到千万在线
现代战争时代 – 数千万在线向亿级在线
总结
![Page 5: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/5.jpg)
石器时代 如何生存
![Page 6: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/6.jpg)
Qzone 2.0 客户端
![Page 7: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/7.jpg)
Qzone 1.0 – 2.0 服务架构
电信
Apache
MySQL
server
cache
.qzone.qq.com
网通
Apache
server
MySQL
cache
*
![Page 8: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/8.jpg)
Qzone 2.0 典型载入逻辑
Qzone框架 用户机器
数据服务A
数据服务B
数据服务C
![Page 9: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/9.jpg)
种种苦闷
Windows Client App不利于问题定位
服务接入层压力大
服务集群没有发挥出应有服务能力
![Page 10: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/10.jpg)
没有办法的办法
50万在线限制
排队时请用户玩游戏
![Page 11: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/11.jpg)
轻量化框架
客户端Web RIA化
HTML页面生成由前端页面进行
服务系统故障影响降低
Javascript逻辑开发迭代更快捷
![Page 12: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/12.jpg)
个人主页
![Page 13: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/13.jpg)
整个页面代码
将入口框架的计算降到最低
![Page 14: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/14.jpg)
用户基本信息
![Page 15: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/15.jpg)
效果
客户端Web RIA化
降低服务器CPU消耗 40%+
节约DC的输出带宽约 30%+
启用qhttpd
![Page 16: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/16.jpg)
Web服务器组件优化
自研qzhttp
接入能力比Apache(非FastCGI模式)提高3倍
最适合团队的配置管理方法
无需大幅改变接入单元的编程风格
![Page 17: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/17.jpg)
分析个人主页
个人资料日志
音乐留言板
![Page 18: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/18.jpg)
首页逻辑
Qzone框架 用户机器
日志模块
相册模块
音乐模块
![Page 19: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/19.jpg)
问题
同时依赖日志、相册、音乐、留言的服务
短板效应一损俱损
具体业务容量无法差异化
![Page 20: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/20.jpg)
首页载入性能优化
研究用户访问模型
拉取展现 : UGC内容变更 =
用户间互访频繁,看他人 : 看自己 =
有6/7的访问可以不需要拉取最终数据
??
7 : 15 : 1
![Page 21: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/21.jpg)
首页内容静态化系统
![Page 22: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/22.jpg)
实施效果
首页展现速度提升
用户不再需要玩小游戏等待
设备基本不变 在线迅速突破 1,000,000
5s 3s
![Page 23: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/23.jpg)
收获
自研组件优势
站点前后端逻辑合理分解
按用户行为模型发挥架构最大能力
![Page 24: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/24.jpg)
Qzone 3.0 稳健上线
![Page 25: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/25.jpg)
石器时代 – 从十万在线到百万在线
冷兵器时代 – 百万在线到千万在线
现代战争时代 – 数千万在线向亿级在线
![Page 26: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/26.jpg)
冷兵器时代 功能的磨砺
![Page 27: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/27.jpg)
一切才刚刚开始
网通,教育网用户很不爽!
每一次发布版本留守2小时!
手机关机要罚款!
![Page 28: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/28.jpg)
怎么回事?
服务容量限制…
跨网访问问题…
发布策略不够严谨…
依赖服务多发生故障一损俱损…
![Page 29: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/29.jpg)
解决网通资源
电信
qzhttp
storage
server
cache
.qzone.qq.com
网通
qzhttp
server
storage
cache
*
qhttpd
专线
教育网
海外
![Page 30: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/30.jpg)
一个世界
不再需要开通时区分用户接入
数据层服务得到简化
通用解决其他小运营商问题
![Page 31: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/31.jpg)
跨网访问
静态资源下载量大
静态资源请求次数 : CGI请求数 =
采用CDN系统
用户还是反馈慢
10 : 1
![Page 32: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/32.jpg)
CDN的DNS路由
![Page 33: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/33.jpg)
很多悲剧
![Page 34: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/34.jpg)
跳出DNS拘束
![Page 35: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/35.jpg)
优化思路
![Page 36: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/36.jpg)
用户爽了
大部分教育网用户问题解决
多级支持的思路成为公共方案
![Page 37: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/37.jpg)
故障是常态
低ARPU、低成本、低价机器、大集群
版本迭代快 每周发布版本
用户对故障和低效的容忍度非常低
![Page 38: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/38.jpg)
用户容忍度曲线
![Page 39: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/39.jpg)
操作单元多接口依赖
![Page 40: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/40.jpg)
1s 内必须响应
服务分级
区分为关键和非关键两大类
动态超时
高峰期服务更平滑 (EMA算法)
多层容错
浏览器到各级服务器的容错
![Page 41: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/41.jpg)
多层容错
公网
qzhttp
storage
server
cache
.qzone.qq.com*user.qzone.qq.com/*客户端容错
LVS
L5
HTTP 304
JSON Data Default
![Page 42: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/42.jpg)
柔性可用
![Page 43: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/43.jpg)
柔性可用
![Page 44: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/44.jpg)
飞翔的同时更换翅膀
空间10min打不开给我们的启示
更换翅膀不是瞬间的过程
发布方案作为技术评审的一部分
影响用户的版本发布严格执行灰度发布策略
![Page 45: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/45.jpg)
小版本灰度控制
![Page 46: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/46.jpg)
大版本灰度策略
![Page 47: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/47.jpg)
Qzone 5.0 上线
![Page 48: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/48.jpg)
石器时代 – 从十万在线到百万在线
冷兵器时代 – 百万在线到千万在线
现代战争时代 – 数千万在线向亿级在线
![Page 49: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/49.jpg)
现代战争 立体化运营
![Page 50: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/50.jpg)
新的问题来了
配合上线一个App要用一周?!
![Page 51: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/51.jpg)
平台和应用架构分离
![Page 52: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/52.jpg)
平台和应用架构分离
日志
相册
留言
心情
音乐
模块 二级页面
应用插件区
Qzone 框架表现插件区
装扮插件
活动插件
关系 资料 权限
装扮
活动
![Page 53: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/53.jpg)
简单配置后上线无需平台做代码级变更
![Page 54: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/54.jpg)
问题
神马?深圳出口光缆被挖断了?!
![Page 55: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/55.jpg)
鸡蛋不能都放一起
服务分布从深圳走向全国
x
![Page 56: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/56.jpg)
IDC分布
深圳 其他城市
更新
写读写 读
![Page 57: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/57.jpg)
问题
如何快速发现和解决用户的问题?
![Page 58: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/58.jpg)
服务器流量监控
![Page 59: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/59.jpg)
接口调用监控
![Page 60: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/60.jpg)
前端测速监控
![Page 61: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/61.jpg)
前端调用错误监控
![Page 62: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/62.jpg)
用户自助
![Page 63: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/63.jpg)
持续体验优化
![Page 64: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/64.jpg)
持续体验优化
![Page 65: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/65.jpg)
持续体验优化
![Page 66: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/66.jpg)
持续体验优化
![Page 67: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/67.jpg)
持续体验优化
第一片数据更早到达
浏览器可分段解析
![Page 68: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/68.jpg)
如何根据资源控制渲染
![Page 69: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/69.jpg)
收获
全国甚至全球的分布运营能力
全方位的立体化监控能力
各个逻辑层持续优化能力
![Page 70: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/70.jpg)
目录
石器时代 – 从十万在线到百万在线
冷兵器时代 – 百万在线到千万在线
现代战争时代 – 数千万在线向亿级在线
总结
![Page 71: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/71.jpg)
峥嵘岁月的启示
百万在线
高性能
千万在线
高可用性
面向亿级在线
高可运营性
![Page 72: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/72.jpg)
腾讯《海量服务之道》系列
Set模型 全网调度 灰度升级
过载保护 立体监控 自动部署 柔性可用
大系统做小先扛住再优化
边重构边生活干干净净
有损服务 动态运营
![Page 73: 徐晓 Qq空间技术架构之峥嵘岁月](https://reader034.vdocuments.site/reader034/viewer/2022052205/55996aac1a28ab0e6a8b47ae/html5/thumbnails/73.jpg)
谢谢