前几天,我们讲到了为何引入缓存且应该什么时候引入,并且讲到了我们生产中缓存的读写策略是什么,忘记了的可以自行去文章列表看下,同时又单独深入讲解了redis哨兵机制(Redis 哨兵机制以及底层原理深入解析,这次终于搞清楚了)和缓存穿透问题的解决方案(烦人的缓存穿透问题,今天教就你如何去解决)。至此,我们现在的系统架构已经是这样子的了
于架构图我们可以看出,我们现在使用了分布式缓存来加速动态请求的各种数据,但是,我们的系统中其实还有很多的静态资源的,并且请求量也是超级大的。例如:
-
移动端APP,有很多的图片,小视频以及流媒体等。
-
对于网站来说,不仅有上面那些资源之外,还有大量的HTML 文件,css文件以及Javascript文件等。
现在我们的一个商城里面,有很多的商品图片,并且详情页还有产品介绍视频,目前这些静态资源均是放在Nginx服务器上的,请求量很大,并且这些文件对于访问速度要求极高,并且占据很高的带宽。这里就会很有可能出现访问速度变慢,将带宽占满从而影响我们后端动态请求。这个时候我们就需要考虑该怎么去对这些静态资源做加速了。
如何思考加速
首先我们想一下可不可以也用分布式缓存来存储达到加速的目的呢?答案肯定是不行的,因为:
-
图片或者视频文件大小都不小,在几兆到几百兆之间。
-
我们的用户是遍地全国各地的甚至还有国外用户,需要让用户能很快的得到相应,即就近访问,我们不能全国各地都建机房去部署缓存,不现实。
-
图片或视频信息文