Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

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

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
去哪儿平台技术
去哪儿平台技术
Wird geladen in …3
×

Hier ansehen

1 von 73 Anzeige

Weitere Verwandte Inhalte

Ähnlich wie 徐晓 Qq空间技术架构之峥嵘岁月 (20)

Weitere von drewz lin (20)

Anzeige

Aktuellste (20)

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

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

×