看到大多数的分享,都是关于OSS进行图片、大文件等存储的应用,其实OSS本身并不会给自身定位,只要OSS提供了相应的功能,我们就能应用起来,解决一些原来看似非常烦恼的问题,我在这里分享一个利用OSS解决网页html缓存的方案。
我们知道,缓存对于一个网站来说非常重要,几乎是解决性能问题的牛皮糖,缓存会有很多种,常见的有内存的缓存,文件级别的缓存。内存的缓存不太适合太多的内容,缓存的一般是比较关键和热点的内容。文件级别的缓存,涉及到磁盘IO,速度比内存慢了很多,但是相对复杂的数据库查询和业务逻辑处理,磁盘文件缓存也是可以大大提高页面载入速度的。
我们的业务场景是,每天会产生几百个G的html页面文件缓存,把这些文件直接放在硬盘中,会有哪些问题?
1. 硬盘磁盘空间会不足。虽然现在磁盘空间比较廉价,但是随着业务的增长,无法准确预测一个合适的值,把这些文件分布到几块磁盘也是可以的,但是管理比较麻烦
2. html文件缓存是存在过期的,过期就要删除,以便释放磁盘空间,几百个G的小文件删除,极大地占用了主机的IO和负载,已经严重影响到了正常的WEB服务
所以我们尝试利用OSS来存放这些html页面小文件,有几个优势:
1. 过期文件的删除,不再担心影响主机的web业务,每天定时跑脚本,删除OSS上的过期文件,释放空间
2. OSS和ECS通过内网联通,不产生任何外网流量,网络延迟极低,虽然有网络交互,但是整体的时间完全可以控制在100ms之内
3. OSS的响应头可以作为缓存控制的有效手段
总结,我们使用了OSS来缓存HTML文件,再也不用担心磁盘告警,不用担心因为删除过期缓存文件导致服务器的高负载,世界顿时清净了,而我们付出的成本,大概每天5块钱不到,值!
抛砖引玉,希望对大家有所帮助,具体的操作就不发了:)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。