【腾讯云的1001种玩法】十分钟轻松搞定云架构之三:更大的存储
序言
大家好,这节课是十分钟架构课程的第三节课:更大的存储。在这节课,我们来了解下面这个四个方面
- 应用发展过程中不可避免的存储问题
- 什么是对象存储
- 对象存储的优势
- 对象存储的最佳实践
应用发展中不可避免的存储问题
随着我们的应用的不断发展,应用的文件、图片等附件,会不断的增加,总会有一天会占满我们的磁盘。而存储量的提升,将会带来 IO 用量的提升和综合带宽占用的提升。但是,附件问题有个特点:低频,大部分的附件都很少被读取,但是它们往往占用较大。当我们的磁盘空间用完后,就需要调整磁盘的空间。磁盘的变更可能会要求我们的重启我们的机器。除了重启问题以外,使用我们自己的硬盘存储文件还有另外一个问题:硬盘空间和主机带宽的增长循环
随着存储量的增加,我们需要提升带宽来保证我们的文件可以被高速的访问。带宽的提升会优化用户的体验,促使它们再次上传更多内容。
这样的循环会让我们的支出不断的提升。在上一节课中我们提到过,带宽的价格是非常高昂的,带宽越大,单价越高。
那么有没有一种产品可以让我们不用支付昂贵的带宽费用呢?有,那就是对象存储!
什么是对象存储?
对象存储为用户提供海量存储的能力。它独立于云主机之外,而且为我们提供单个Bucket(存储空间) 256T 的总容量,我们可以放心的存储我们想要存储的内容,而且,腾讯云没有限制用户可以创建多少个Bucket,也就是说,我们的容量可以认为是无限的。
- 单个 Bucket 的存储总量可以达到 256T
- 可以实现在用户之间上传到 COS ,而无需经过主机中转,不占用主机带宽
- 文件的访问通过COS进行, 不占用主机的IO和网络带宽
如何接入对象存储
接下来,我们来说一说如何在应用中接入对象存储。
如果要在应用中接入对象存储,我们就需要把我们的应用拆分成两个部分。一部分是我们的计算能力,比如我们常说的业务逻辑。 另一部分是存储能力,存储能力分为两块,一部分是我们常说的数据库存储,另外一部分就是我们常说的文件存储。对于文件存储的这一部分,我们可以借助 COS 的 SDK ,将文件存储的能力交给COS来处理。用户在使用时,只需要把SDK接入到系统中,替换对应的代码。就可以实现使用COS来进行文件存储。
对象存储的最佳实践
我们希望借助对象存储,提升系统的性能。另一方面,我们也希望他可以帮助我们减少更多的费用。既然要降低费用,我们就要知道,对象存储都收取哪些费用。
对象存储收取存储的费用、流量的费用和请求的费用。其中流量费用和请求费用是其中的大头。我们可以借助CDN,来减少我们的对象存储的请求费用和流量费用,从而实现对象存储的费用的降低。
除了费用之外,我们也建议大家使用 Web 直传,这样文件的上传就可以直接从用户到达 COS ,而无需借助主机中转,降低了主机的带宽和IO的使用。
- 洛谷P3195 [HNOI2008]玩具装箱TOY(单调队列优化DP)
- SQL Server 深入解析索引存储(下)
- 2751: [HAOI2012]容易题(easy)
- codevs3002 石子归并 3
- 算法模板——计算几何2(二维凸包——Andrew算法)
- 算法模板——splay区间反转 2
- 算法模板——Dinic网络最大流 2
- 1935: [Shoi2007]Tree 园丁的烦恼
- 1339 / 1163: [Baltic2008]Mafia
- 4010: [HNOI2015]菜肴制作
- 4052: [Cerc2013]Magical GCD
- ElasticSearch搜索引擎在SpringBoot中的实践
- 2292: 【POJ Challenge 】永远挑战
- 四边形不等式优化DP
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 浏览器
- CSS样式规则及字体样式
- 引入CSS样式表(书写位置)
- CSS复合选择器
- 不是吧,Serverless 还能这么玩?
- 这一行代码,能让你的 Python 运行速度提高 100 倍!
- 【52期】记一道简单的Java面试题,但答错率很高!
- 面向隐私 AI 的 TensorFlow 深度定制化实践
- 别再问如何用Python提取PDF内容了!
- gff文件转换成gtf文件
- R的save,load函数和 .rda文件
- 10行Python代码自动清理电脑内重复文件,解放双手!
- 【一天一大 lee】二叉树的后序遍历 (难度:中等) - Day20200929
- 一日一技:在Golang下如何相对简单地开发爬虫?
- 原创 | 一文读懂正态分布与贝塔分布