通过云存储实现海量的HTML页面文件缓存

  1. 云栖社区>
  2. 博客>
  3. 正文

通过云存储实现海量的HTML页面文件缓存

笑傲江湖lcx 2016-07-24 00:05:09 浏览2272
展开阅读全文

背景


对于大部分使用者而言,他们都是使用对象存储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上文件上传与删除操作


第一步:开通 OSS 服务

在使用阿里云 OSS 服务之前,确保您已经注册了阿里云账号并完成实名认证。如果您还没有创建阿里云账号,系统会在您开通 OSS 时提示您 注册账号

操作步骤

1.登录阿里云官网;

2.点击 OSS产品详情页 中的 立即开通

8db095574417b7736184e43a58a0c7341f92da0b

3.开通服务后,点击 管理控制台 直接进入 OSS 管理控制台界面。

a75ef7606f6147c954a028931248a3dd3d853379
您也可以点击位于首页右上方菜单栏的 管理控制台,进入阿里云管理控制台首页,然后点击下图所示按钮进入 OSS 管理控制台界面。

071bf66a656b21d9afb8f4b8bb63bcff20bf4edc

第二步:创建存储空间

开通阿里云 OSS 服务后,您需要首先使用 OSS 管理控制台创建存储空间以用来存储文件。

操作步骤

1.进入 OSS 管理控制台界面。

2.单击 Bucket 管理 > 新建 Bucket新建 Bucket 对话框将弹出。

b6e7048f0e7bcd3795f34c7e659c7c4881f01f5a

3.在 BucketName 框中,输入存储空间名称。存储空间的命名必须符合命名规范。所选定的存储空间名称在阿里云 OSS 的所有现有存储空间名称中必须具有唯一性。创建后不支持更改存储空间名称。有关存储空间命名的更多信息,请参阅 OSS 基本概念介绍

07b7681236f5eb89c46ab8cf2307ef76bd7beeaa

4.在 所属地域 框中,下拉选择该存储空间的数据中心。订购后不支持更换地域。如需要通过 ECS 内网访问 OSS,可选择与你 ECS 相同的地域。有关地域的更多信息,请参阅阿里云 OSS 开发人员指南中的对应章节。

5.在 读写权限 框中,下拉选择对应的权限。

公共读写:任何人(包括匿名访问)都可以对该存储空间中的文件进行读写操作,所有这些操作产生的费用由该存储空间的创建者承担,请慎用该权限。

公共读:只有该存储空间的创建者可以对该存储空间内的文件进行写操作,任何人(包括匿名访问)可以对该存储空间中的文件进行读操作。

私有:只有该存储空间的创建者可以对该存储空间内的文件进行读写操作,其他人无法访问该存储空间内的文件。

6.单击 提交。存储空间创建完成。

第三步:上传文件

您已经创建了存储空间,现在您可以上传任意类型文件到存储空间中。通过 OSS 控制台您可以上传小于500 MB的文件。如您要上传的文件大于500 MB,请参阅阿里云 OSS 开发人员指南中的对应章节。

操作步骤

1.进入 OSS 管理控制台界面。

2.单击您要向其中上传文件的存储空间名称,打开该存储空间管理页面。

3.单击 Object 管理,进入该存储空间内所有文件管理页面。

10d3df0e01a18422c46143dde8511d2e2180cca8

4.单击 上传文件,打开文件选择对话框。

5.选择要上传的文件,然后单击 打开。文件上传成功,点击 刷新 按钮可查看已上传的文件。

第四步:删除文件

如果您不再需要存储所上传的文件,请将其删除以免进一步产生费用。您可以通过 OSS 控制台删除单个文件或批量删除文件。

操作流程

1.进入 OSS 管理控制台界面。

2.单击要删除文件所在的存储空间名称,打开存储空间管理页面。

3.单击 Object 管理,打开文件管理页面。

4.单击目标文件对应的 删除 链接。

17bedf5a48c1900df37ba8a6845b8db9d8896b16

单击 确认 删除该文件。 如果要批量删除文件,您可以勾选多个文件后单击 批量删除。通过管理控制台批量删除文件个数上限为50。如果想更灵活的选择删除的文件,请参阅阿里云 OSS 开发人员指南中的对应章节。

1651bd57c6ffba0fff87a59a3a7200615b7662d0

总结


我们使用了OSS来缓存HTML文件,再也不用担心磁盘告警,不用担心因为删除过期缓存文件导致服务器的高负载,世界顿时清净了,而我们付出的成本,大概每天5块钱不到,值! 

相关链接:

关于本文更加详细操作:https://bbs.aliyun.com/read/239571.html

OSS其他相关操作指导:https://help.aliyun.com/document_detail/31887.html

网友评论

登录后评论
0/500
评论
笑傲江湖lcx
+ 关注