京东商品详情页服务闭环实践
10.6 一些经验
· 只缓存200状态码的响应,像302等,要根据实际场景决定。比如,当系统出错时,自动302到错误页面,此时缓存302就不对了。
· 有些页面不需要强一致,可以进行几秒的缓存。比如商品详情页展示的库存,可以缓存几秒钟。短时间的不一致对于用户来说是没有影响的。
· JS/CSS/image等一些内容缓存时间可以设置为很久,比如1个月甚至1年,通过在页面修改版本来控制过期。
· 假设商品详情页异步加载的一些数据,使用last-modified进行过期控制,而服务器端做了逻辑修改,但内容是没有修改的,即内容的最后修改时间没变。如果想过期这些异步加载的数据汽车房产抵押贷款,则可以考虑在商品详情页添加异步加载数据的版本号,通过添加版本号来加载最新的数据,或者将last-modified时间加1来解决,但这种情况下使用ETag是更好的选择。
· 商品详情页异步加载的一些数据,个人小额信用贷可以考虑更长时间的缓存,比如1个月而不是几分钟。可以通过MQ将修改时间推送到商品详情页,从而实现按需过期数据。
· 服务器端考虑使用tmpfs内存文件系统缓存、SSD缓存,使用服务器端负载均衡算法一致性哈希来汽车房产抵押贷款提升缓存命中率。
· 缓存key要合理设计。比如,去掉某些参数或排序参数,以保证代理层的缓存命中率;要有清理缓存的工具,出问题时能快速清理掉问题key。
· AB测试/个性化需求时,要禁用掉浏览器缓存,但要考虑服务器端缓存。
· 为了便于查找问题,一般会在响应头中添加源服务器信息,如访问京东商品详情页会看到ser响应头,此头存储了源服务器IP,以便出现问题时,知道哪台服务器有问题。
参考资料
本文地址:京东商品详情页服务闭环实践 _http://longshunzhuangshi.com/yingxiaoruanjian/200.html 本文tag标签:京东商品详情页服务闭环实践
上一篇:推荐DBCP配置建议
下一篇:火狐SeoQuake插件