[文章作者:狂奔的鹿(陆松林) 本文版本:v1.0 转载请注明原文链接:http://dynamiclu.iteye.com/]
QQ空间的规模,5.5亿的活跃用户,千万级人的在线,十亿级别的PV。
06年的时候 ,就对QQ空间的技术实现细节好奇,当时还特意看了看其浏览器端的源码,JS代码实在复杂,让我失去了调试模仿实例的耐心。
前几天看了QQ空间技术总监徐晓的视频“QQ空间技术架构之深刻揭秘”http://djt.qq.com/topic-Shenzhen_Qzone.html,体会如下几点:
体会1.首页是完全用JS绘制好,是用完全静态的html或shtml好,还是两都方式都用?
JS绘制时,大量使用ajax技术是减轻了服务器的负载,服务器端逻辑简化,程序更健壮,后端出错时,前端自动调整,更好的用户体验。 JS绘制首页,更吻合WEB系统优化最重要的原则之“将请求里的逻辑尽量往前移”。
html或shtml的首页,开发速度快,维护方便,html语法简单。apache或nginx开启ssi模块,shtml页面引用碎片的是很多门户首页使用的方式。在epoll的I/0模型下,应用服务器资源消耗少,并发处理能力强。
两种方式缺点也会很明显,想想QQ空间的前端工程师在用JS绘制首页在时,不同系统,不同浏览器种类、版本的情况下调试JS代码,也是一件头大的事。
体会2. 研究用户访问模型,依据统计的比例,确定并实施优化的方案。
QQ空间拉取展现与UGC内容的变更比例是7:1。用户之间互访频繁,看他人与看自己的比例是5:1, 有6/7的访问是可以不需要拉取最终数据的。在此情况下,QQ空间增设了一静态化cache
系统。如下图,
用户A发表后,数据进入日志服务,并更新标志服务,发完之后,第一次可能是用户A自已或B来读取用户A首页的数据,静态化系统写服务会将日志数据从日志服务处取过来,并写入静态化存储服务,若更新标志服务没有通知,读取只会走静态化存储服务,不再走原来的日志服务。这样,提升了请求的响应速度。
从访问模型入手进行优化的例子很多,大部分新闻频道、社区经常会有爬虫和浏览器用户两种访问,不同站点也有自已的比例。
QQ空间的上述优化本质还是在读取请求原存储前再加了一层cache(存储)的思路。针对的是内容数据。优势在于原系统改造逻辑较少。
再看如下图,
原系统不变,在日志读取前面加了一层squid作代理缓存, 当有日志更新时,调用更新标志服务器,再通知squid服务器清除代理缓存,清除后,第一次再读取时,会写入缓
存。 实质原理跟QQ空间的方案一样。
体会3:CDN静态资源优化
在多机房的情况下,用户如何取到离用户最近的服务器上的资源。常用的CDN方式是通过路由策略(DNS路由),指定最近的服务器IP给用户访问。这种方式在教育网下有个别用户出现了问题,当clientIP和localDNS的不一致时,这样访问不是离用户最近的服务器IP,导致打开很慢。优化方式:根据用户的第一次访问时,通过http协议,确认clientIP,发现在是在那个运营商,再根据clientIP指定静态资的域名地址。
最后,提到SET模式,灰度发布,在腾讯的讲堂上不同的课都有提到, 值得效仿。
[文章作者:狂奔的鹿(陆松林) 本文版本:v1.0 转载请注明原文链接:http://dynamiclu.iteye.com/]
- 大小: 55.5 KB
分享到:
相关推荐
架构真经-互联网技术架构的设计原则-第2版,架构真经-互联网技术架构的设计原则-第2版,全部章节
分布式架构网上商城-分布式架构网上商城系统-分布式架构网上商城系统源码-分布式架构网上商城管理系统-分布式架构网上商城管理系统java代码-分布式架构网上商城系统设计与实现-基于springboot的分布式架构网上商城...
51CTO系统架构设计师2009-2018真题及答案,好用、专业
L001-高级架构师12期-zabbix深度实践-13节 L002-高级架构师12期-zabbix深度实践2-2节 L003-高级架构师12期-SaltStack深度实践1-4节 L004-1-高级架构师12期-Saltstack配置管理2-8节 L004-2-高级架构师12期-Saltstack...
分布式架构网上商城-分布式架构网上商城系统-分布式架构网上商城系统源码-分布式架构网上商城管理系统-分布式架构网上商城管理系统java代码-分布式架构网上商城系统设计与实现-基于springboot的分布式架构网上商城...
北京设备管理系统的技术架构及特点-bs架构设备管理系统-设备管理系统网络架构-郑州
架构师学习指南-高级架构师必修学习视频架构师学习指南-高级架构师必修学习视频
│ 产品技术架构.pptx │ 微服务-技术分层图.pptx │ └─AI盒子架构图 AI算力盒子--架构图(改造前)V0.1.pos AI算力盒子--架构图(改造后)V0.1.png AI算力盒子--架构图(改造后)V0.1.pos 盒子架构图(改造前)V0.1--...
5G+智慧城市架构-建设-运营白皮书
通信行业标准 区块链技术架构安全要求 2020-10-01实施 本标准起草单位:国际计算机网络应急技术处理协调中心 等
系统架构师设计教程---有助于软考系统架构师设计教程---有助于软考系统架构师设计教程---有助于软考
毕业设计-课程设计-大作业-车辆管理系统本科毕业设计,采用php+mysql+python技术架构.zip毕业设计-课程设计-大作业-车辆管理系统本科毕业设计,采用php+mysql+python技术架构.zip毕业设计-课程设计-大作业-车辆管理...
真正的(完整版)大型网站技术架构:核心原理与案例分析+李智慧.pdf
java-springboot-基于springboot的分布式架构网上商城项目-代码-源码-项目-系统-毕设-网站 1、技术栈:java,springboot,vue,ajax,maven,mysql,MyBatisPlus等 2、系统的实现 用户信息 图片素材 视频素材 摘 要 ...
JRT 0166-2018 云计算技术金融应用规范 技术架构 JRT 0167-2018 云计算技术金融应用规范 安全技术要求 JRT 0168-2018 云计算技术金融应用规范 容灾
亿级流量网站架构核心技术--跟开涛学搭建高可用高并发系统 ,有目录,无水印
云计算技术金融应用规范 技术架构
根据提供的文件信息,我们可以归纳出一系列关于“系统架构设计师”所需掌握的核心知识点。这些知识点不仅覆盖了考试大纲的要求,还涉及到了多个领域的专业知识和技术实践。 ### 知识点概述 #### 1. 软件架构与设计...