[文章作者:狂奔的鹿(陆松林) 本文版本: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
分享到:
相关推荐
分布式架构网上商城-分布式架构网上商城系统-分布式架构网上商城系统源码-分布式架构网上商城管理系统-分布式架构网上商城管理系统java代码-分布式架构网上商城系统设计与实现-基于springboot的分布式架构网上商城...
分布式架构网上商城-分布式架构网上商城系统-分布式架构网上商城系统源码-分布式架构网上商城管理系统-分布式架构网上商城管理系统java代码-分布式架构网上商城系统设计与实现-基于springboot的分布式架构网上商城...
北京设备管理系统的技术架构及特点-bs架构设备管理系统-设备管理系统网络架构-郑州
架构师学习指南-高级架构师必修学习视频架构师学习指南-高级架构师必修学习视频
架构师职能图----------------------------------
通信行业标准 区块链技术架构安全要求 2020-10-01实施 本标准起草单位:国际计算机网络应急技术处理协调中心 等
《系统架构设计师教程-第4版》是一本深入探讨系统架构设计的专业教程,适用于准备进行系统架构设计学习或备考系统架构设计师资格认证的读者。本书全面涵盖了系统架构设计的基础理论、核心概念、最佳实践以及最新技术...
构建可持续的软件架构是一项复杂而又充满挑战的任务,它不仅需要深厚的技术功底,还需要对业务有深刻的理解。通过采用模式语言、模块化设计、前瞻性规划等策略,可以有效地提高软件架构的质量,从而为企业的长期发展...
高软-系统架构设计师-考点整理 高软-系统架构设计师-考点整理高软-系统架构设计师-考点整理高软-系统架构设计师-考点整理高软-系统架构设计师-考点整理高软-系统架构设计师-考点整理高软-系统架构设计师-考点整理高...
2018年人工智能发展白皮书技术架构篇-信通院-201809.pdf
7-QQ空间技术架构之峥嵘岁月 8-架构之美-开放环境下的网络架构 9-智能应用和云服务:手机浏览器的未来之门 10-开放之路:成就创新的四把钥匙 11-从十元到十亿:腾讯包月产品深度思维 12-深度掘金腾讯社交关系链 13-...
真正的(完整版)大型网站技术架构:核心原理与案例分析+李智慧.pdf
ArchSummit全球架构师峰会PPT --- 5G和云原生时代技术下半场(林昊).zip
根据提供的文件信息,我们可以归纳出一系列关于“系统架构设计师”所需掌握的核心知识点。这些知识点不仅覆盖了考试大纲的要求,还涉及到了多个领域的专业知识和技术实践。 ### 知识点概述 #### 1. 软件架构与设计...
分布式架构网上商城的设计与实现代码-java-springboot-基于springboot的分布式架构网上商城项目-代码-源码-项目-系统-毕设-网站 1、技术栈:java,springboot,vue,ajax,maven,mysql,MyBatisPlus等 2、系统的实现...
Linux运维-运维构架师-day37-综合架构模块-综合架构开场-oldboy-03.综合架构图解.mp4