小微企业阿里云最佳实践系列(三):OSS 图片存储(对象存储)与 CDN 内容分发
概述
阅读对象
本博文主要写给创业团队、技术团队人数 < 5 人、没有专业运维等小微企业作为参考,需要掌握基础的服务器管理、软件开发等经验。
博文主要内容
本博文主要为大家介绍静态文件的存储以及使用 CDN 加速访问的热点图片。很多企业都会面临网站大图加载缓存、文件下载并发低(通常同时几个人下载服务器上的大文件就会跑满服务的带宽)等问题,本文将逐一为大家讲解如何解决此类问题。
OSS 图片存储(对象存储)
官方介绍
海量、安全、低成本、高可靠的云存储服务,提供99.999999999%的数据可靠性。使用RESTful API 可以在互联网任何位置存储和访问,容量和处理能力弹性扩展,多种存储类型供选择全面优化存储成本。
CDN 内容分发
官方介绍
将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。
两款产品主要解决问题
- 无限量存储空间,一次接入无需关注存储容量限制,按照实际使用容量收费
- 存储价格低,相比云服务器 0.3元/GB/月,OSS 存储只需要0.12元/GB/月,归档存储更是低至 0.033/GB/月
- 图片上传不限宽带,OSS 服务的宽带几乎不限制,使用常规的 ECS 服务器若购买 100mbps 的宽带,费用相当高,OSS 则可以无需支付高昂的宽带费用
- 图片下载不限宽带,图片(或文件)存储在 OSS 上,下载不受服务器的限制,一般情况下客户端带宽有多大,下载速度就有多快
- 无缝对接 CDN 内容分发,可搭配 CDN 产品将热点图片缓存到离用户最近的节点,进一步提高加载速度
- CDN 流量包进一步降低流量费,相比于 ECS 服务器 0.72元/GB 流量费,CDN 低至 0.24元/GB,并且不占用应用服务器带宽
- 天然集成的图片在线处理,访问 OSS 存储的图片时可以通过参数在线处理图片大小,例如指定高度的图片,相关文档:图片缩放
如何选择使用
推荐 OSS 对象存储和 CDN 内容分发两款产品搭配使用。
案例一、使用 OSS 存储应用图片,实现动静分离
在一般项目中,大多数情况下是直接将静态文件存放在项目目录中,项目运行时上传的图片也会放入项目运行目录中例如:upload,这样存在诸多问题,不利于运维人员的管理工作。
自建 FTP 服务器来存储图片一是成本高,二是配置不当会导致 FTP 服务器不安全或者不稳定,这时我们可以通过 OSS 的 SDK 集成到项目中,将项目运行过程中用户、管理员等上传的图片统统传入 OSS 中进行存储,这样服务器上只需要放应用程序,无需再给图片分配空间,也不用担心图片过多导致服务器空间不足。
1、对接之前需要在 OSS 控制台创建 bucket,尽量选择和应用服务器一个地域的 bucket,下图 EndPoint 地域节点是 SDK 上传图片需要用到的域名,Bucket 域名为 OSS 分配的临时域名(可以自行 cname 解析到临时域名上访问,也可以直接使用临时域名访问图片)
2、创建好 bucket 之后需要在 RAM 控制台 中创建一个账号用于读写 OSS 中的文件,SDK 初始化参数是需要用到,这里建议不同环境分配不同的账号进行管理
3、在官网文档选择项目使用的语言对应的 SDK 版本,例如这里选择 Java 版本,按照文档上的安装说明以及代码初始化 OSS SDK
4、之后项目中需要用到文件上传的地方统一使用 OSS SDK 上传即可
5、上传成功后我们可以通过 OSS 控制台查看文件以及访问文件的 URL 地址
点击了解更多详细内容
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CVE-2018-15664漏洞分析报告
近日来自SUSE的安全专家Aleksa Sarai公布了编号为CVE-2018-15664的docker相关高危安全漏洞,该漏洞的CVSS评分为8.7,影响面涵盖所有docker发行版本,攻击者可利用该漏洞逃逸出容器读取或篡改host或其他任意容器内的文件,当前docker官方已经给出了临时方案以降低攻击面并将于下个release版本发布。 漏洞描述 该漏洞的根因是使用FollowSymlinkInScope函数时触发TOCTTOU(time-of-check-to-time-of-use) 文件系统的竞争条件缺陷引起的。这段函数代码在docker源码中使用较多,最为直接的就是docker cp命令。根据Sarai的描述:FollowSymlinkInScope的作用是解析容器中运行进程的文件路径,而攻击者可以利用解析校验完成
- 下一篇
CICD联动阿里云容器服务Kubernetes实践之Bamboo篇
本文档以构建一个 Java 软件项目并部署到 阿里云容器服务的Kubernetes集群 为例说明如何使用 Bamboo在阿里云Kubernetes服务上运行Remote Agents并在agents上运行Build Plans。 1. 源码项目 本示例中创建的GitHub源码项目地址为: https://github.com/AliyunContainerService/jenkins-demo.git 分支为: bamboo 2. 在Kubernetes中部署Remote Agent 2.1 创建kaniko-docker-cfg secret kaniko-docker-cfg secret用于Remote Agent上构建任务使用kaniko推送容器镜像时的权限配置 kubectl -n bamboo create secret gene
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS关闭SELinux安全模块
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19