Your SlideShare is downloading. ×
徐晓 Qq空间技术架构之峥嵘岁月
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

徐晓 Qq空间技术架构之峥嵘岁月

1,317
views

Published on

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,317
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
21
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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