1,研究用户访问模型并且进行针对性优化。
空间的拉取展示:UGC内容变更的比例是 7 :1,也就说大概平均一次写访问,对应7次读访问,此时如果进行动静分离剥离,会极大提高展示性能。 空间动静分离模式,通过设置一个bitmap或者是timestamp吧,实现日志变更操作和日志查看的分离,同时结合主动和被动静态化,以及静态内容合并静态化的思想,对海量服务均有非常好的参考价值。
这里说明一下什么是主动静态化和被动静态化:
- 主动静态化是系统主动触发静态化写操作,当用户访问的时候,系统已经准备好静态化的资源了。
- 被动静态化则是 静态化的时机是由用户的行为触发的,系统不主动进行,当有用户第一次访问该内容的时候,触发静态化写操作。
![](https://img-my.csdn.net/uploads/201205/08/1336462280_2028.jpg)
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纠错总结>>