从QQ空间技术分享中收获的几点总结
1,研究用户访问模型并且进行针对性优化。
空间的拉取展示:UGC内容变更的比例是 7 :1,也就说大概平均一次写访问,对应7次读访问,此时如果进行动静分离剥离,会极大提高展示性能。
空间动静分离模式,通过设置一个bitmap或者是timestamp吧,实现日志变更操作和日志查看的分离,同时结合主动和被动静态化,以及静态内容合并静态化的思想,对海量服务均有非常好的参考价值。
这里说明一下什么是主动静态化和被动静态化:
- 主动静态化是系统主动触发静态化写操作,当用户访问的时候,系统已经准备好静态化的资源了。
- 被动静态化则是 静态化的时机是由用户的行为触发的,系统不主动进行,当有用户第一次访问该内容的时候,触发静态化写操作。
2,发布方案作为技术评审环节的一部分,作为海量服务的运营管理是一个不错的参考,另外,让服务支持多版本也是一个重要的考虑方向,当然灰度发布也是非常不错的办法。
3,通过304做客户端容错也是一个不错的创新。
具体过程主要用到HTTP协议中的GET 条件查询,cgi吐出数据给浏览器的同时,会给到对应的ETag信息,而浏览器收到该响应头后会存储起来,当第二次请求的时候会把Etag的信息作为HTTP请求头的IF-NONE-Match的信息带到服务器,这时候cgi若拉取后端服务失败,且判断浏览器的请求是一个带有IF-NONE-Match的条件查询,则可以返回304给到浏览器,此时浏览器收到304状态码响应后,会认为是请求的内容Not Modified,于是,直接用自己缓冲的那份拷贝数据展示给用户,而不是404或者系统繁忙。
4,空间通过框架机纠正dns解释偏差的问题非常赞,具体可以看tenfy之前的总结 <<qzone框架机如何做dns纠错总结>>
从QQ空间技术分享中收获的几点总结相关推荐
- 软件架构设计学习总结(3):QQ空间技术架构之详解
QQ空间作为腾讯海量互联网服务产品,经过近七年的发展,实现了从十万级到亿级同时在线的飞跃.在这个过程中,QQ空间团队遇到了哪些技术挑战?其站点前后台架构随着业务规模的变化又进行了怎样的演进与变迁?成长 ...
- [置顶]QQ空间技术架构之深刻揭密
QQ空间作为腾讯海量互联网服务产品,经过近七年的发展,实现了从十万级到亿级同时在线的飞跃.在这个过程中,QQ空间团队遇到了哪些技术挑战?其站点前后台架构随着业务规模的变化又进行了怎样的演进与变迁?成长 ...
- 腾讯QQ空间技术总监,T13专家被裁,原因令人唏嘘
大家好,我是校长. 最近这几天,腾讯前端开发领袖.原腾讯 QQ 空间技术总监.T13 专家黄希彤被其夫人曝离职,据爆料好像是被裁. 据腾讯云官网介绍,黄希彤为前端开发领袖,前腾讯云布道师,腾讯首个 W ...
- QQ空间爬虫分享(一天可抓取 400 万条数据)
代码请移步GitHub:QQSpider 爬虫功能: QQSpider 使用广度优先策略爬取QQ空间中的个人信息.日志.说说.好友四个方面的信息,详细可见数据库说明. 判重使用"内存位&qu ...
- iOS QQ空间 好友分享
iOS QQ空间 好友分享 1.进入腾讯开发者平台,可以查看分享SDK文档,根据说明按步骤接入 demo演示 - (void)viewDidLoad { [super viewDidLoad]; // ...
- [视频]QQ空间技术架构之深刻揭秘------技术体会
[文章作者:狂奔的鹿(陆松林)本文版本:v1.0 转载请注明原文链接:http://www.cnblogs.com/dynamiclu/] QQ空间的规模,5.5亿的活跃用户,千万级人的在线,十亿级 ...
- android qq空间 sdk,Android中使用腾讯的SDK完成分享图文到qq空间
1.首先在腾讯开放平台中注册APP_ID,下载SDK并导入到应用程序 2.开始分享图文到qq空间 /** * 分享歌曲到qzone */ private void share2qzone() { fi ...
- [转载]QQ空间技术架构之深刻揭密
1. 拥有5.5亿的活跃用户 2. 过万台的设备 3. 数千万级别的同时在线 4. 数十亿级别的全站PV 5. P级的UGC存储量 6. 每天千亿级别的服务请求 图1--QQ空间海量服务数据规模 接下 ...
- 微信公众平台-微信发送朋友、分享到QQ、分享QQ空间、分享腾讯微博-JSSDk接口
jssdk.php: <?php class JSSDK {private $appId; //公众号的appidprivate $appSecret;//公众号的密钥public functi ...
最新文章
- edit怎么读英语_名师说学习:英语学习有方法
- python numpy 数据类型为python对象-python numPy模块 与numpy里的数据类型、数据类型对象dtype...
- wordpress图片水印插件DX-Watermark
- 太原理工软件学院c语言2020,太原理工软件工程C语言实验报告 数组.doc
- Java密码体系结构简介:Java Cryptography Architecture (JCA) Reference Guide
- No module named '__main__.demo1'; '__main__' is not a package
- Mac OS X下安装和配置Maven
- ios基础篇(二十六)—— UITableViewCell的分组索引与标记
- Wireshark 抓包分析 RTSP/RTP/RTCP 基本工作过程
- 使用Kubernetes里的job计算圆周率后2000位
- jpa embedded_JPA @Embeddable和@Embedded
- 最全Java面试208题,涵盖大厂必考范围!强烈建议收藏~
- C/C++——getline()详解
- php后门木马常用命令
- 拿来就能用!用爬虫秒抢到孩子心仪的幼儿园 | CSDN 博文精选
- Oracle undo 管理
- java-cef系列视频第三集:添加flash支持
- C# richTextBox重刷最后一行,richTextBox只更新最后一行
- iOS 常用三方集合
- Enter键绑定按钮或方法