Web缓存核心技术点需知序: 近些年,互联网基础设备和技术迅猛发展,互联网玩法日新月异,稍不留神就Out。整体网民的素质也在不断提升的同时,对互联网的体验也提出了新的高度和要求,众所周知智能背后意味着复杂,体验好背后也意味着互联网的架构越复杂。利益当先的前提下,最好的优化就是缓存,缓存在整个互联网的发展过程中作用可想而知。尤其在中国如此蹩脚的网络下,南电信北联通,中间坑的都是付费的用户和企业。越来越多的证明表明,网站访问速度越慢,用户流失的越快,要想加快网站访问速度,基于此背景条件下,缓存和反向代理更显的尤为重要。 1. 完整请求流程中缓存设计从互联网起始至今缓存都无处不在,从最前端的用户侧开始到服务器架构设计领域均在缓存的设计。
系统 浏览器 DNS(CDN)
硬LB 软LB NoSQL(Cache) 2. 缓存特征点并非所有的数据被缓存或需要缓存,缓存是为了解决20%数据被80%的人频繁访问的问题而生。数据如希望被缓存往往具备变化缓慢的特征。被缓存的数据往往具备如下特性: 2.1 特征1:时间局部性缓存的数据往往被打有时间缀,具有定期失效的特征,过期后会从源服务器检验请求验证是否需要重新拉取数据。 2.2 特征2:空间局部性被访问数据的周边数据被访问的概率会比其它常规数据访问大很多,所以这些访问数据和其它周边有可能被访问的数据通过某种方式集中在一起,以提高数据的被访问速度,减少数据查找时长。 2.3 缓存的优点缓存的优点无需赘述: 2.4 哪类数据应该被缓存
2.5 哪类数据可缓存但不应该被缓存
2.6 缓存命中率决定缓存有效性缓存命中率=hit/(hit mixx) 2.7 缓存数据生命周期数据被缓存数并非永久缓存。根据业务所需和服务器容量及用户行为,各类数据会定期被清理。如王宝强离婚事件,据说因此微博缓存用品横向扩展一倍服务器来响应该突发热点事件,但该热点事情结束后这批服务器是需要下架以节约成本,同时因为热点事件的结束,该时期的热点词及缓存数据将不再被缓存以做清理,该类清理往往需要手动清除,而对于静态文件图片,css等文件,则会设置定期清理,总结如下: 缓存清理策略: 2.8 缓存处理步骤2.9 缓存和普通数据读取的区别缓存数据是K/V数据,即key/value,缓存的存储方式一般是以文件到的MD5码的前某些字符为键,做为存储目录,存储目录一般是多级的,其值则可能是整个MD5码,也可能时MD5码减去key所用的字符 k/v存储的好处是检索速度速度快,具有幂等性,此处的幂等性指的是,无论查找多少次所消耗的时间都是一样的。 3. 智能DNS解析(CDN)“缓存最好的实现方式莫过于CDN” 对于国内的分裂网络(电信,联通,移动),CDN可以判断用户来自于哪各运营商的网络,解析请求到相应网络的服务器主机,前提时需要提供web服务运营商需要在不同的的电信运营商部署服务器 GSLB:Globle Servive Load Balance 全局服务负载均衡 4. 常见的缓存工具实现squid |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|