项目需要上传头像,不想存在本地,之前用过阿里云其他产品,这里就使用一下阿里云的oss了,不得不说阿里云的产品使用步骤真的很清晰.这里说一下我自己的使用步骤.
选择对象存储oss,进行开通
开通不要钱,有一定免费额度
权限可以设置为公共读
其实也就是两步
1.引pom
2.复制黏贴大法
由于阿里云一些密钥配置和地域结点,bucket等是常量级的,所以我这里抽取出来放在了application.properties中, 方便管理 ,数据我手动加密了....大家换成自己的即可,
这些配置key=value key都是自己随便写的(也不是,起码可以见名思意),只是为了我们配置的一个配置类可以利用spring的依赖注入填充value而已
说明:
说明:
我们阿里云oss仓库的url是一个咱们的仓库+固定的地域结点值+咱们的文件名字,所以这里为了使上传的文件名字不重复,使用了一个idworker,不知道的可以看一下 Twitter的 Snowflake(雪花算法)
大家搭建完了可以用postman测试一下
ps:如果我们想方便管理或者后期扩展,我们这里也可以引入一个工具
我们可以用这个工具的一个方法String dirpath=new DateTime().tostring("yyyy/MM/dd")将当前的时间转换为yyyy/MM/dd的格式,比如2020/02/03
这样我们上传的文件名字时候可以以这个dirpath作为我们的图片所在的文件夹名称,以分布式id生成器生成的id为名称存储.
下面看一下效果
基本分为三种:提升服务器带宽、OSS云存储和CDN加速。OSS的基础上还能进一步用CDN加速,不过费用就要进一步提升了。1、提升服务器带宽
因为现在是在服务器里自建的文件存储系统,相当于用的是服务器本身的带宽,所以加载图片的时候会收到服务器带宽瓶颈的限制。所以可以直接加钱升服务器带宽来解决,不过要综合对比考虑一下经济性。
2、OSS云存储
OSS云存储是直接采用云存储系统,等于把这部分文件的流量拨出去了,不再受限于服务器的带宽瓶颈。但OSS本身也是有带宽瓶颈的,以及需要按流量付费。网上也有嫌OSS加载慢的,还要在OSS基础上进一步加CDN加速。由于我们本身的文件系统已经搭建起来了,如果OSS资费方面没什么优势,应该不会考虑,不然后面可能不仅要付加速的资费,还要付文件存储的资费。通过流量计费,流量小的话每天只几块钱。
CDN回流是优先调CDN,CDN缓存过期后才从OSS下载。
3、CDN加速
内容分发网络CDN(Content Delivery Network)是建立并覆盖在承载网之上,由遍布全球的边缘节点服务器群组成的分布式网络。阿里云CDN能分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,提高资源访问速度。
通俗点说,相当于把数据帮我们在就近的节点缓存。适合要求一致性不高的数据源。
一般情况下,CDN流量价格都比OSS流量价格便宜
4、资费对比
关于阿里云还是七牛的选择问题,有很多做个人博客的选择七牛云,去查了下,CDN性能比阿里云稍逊色,价格也会便宜点。
“对象存储”或“基于对象的存储”一词是由它的名称派生出来的,因为它将数据和元数据封装到对象中。元数据本质上是描述其他数据的数据,或者在基于对象的存储的情况下,是关于通常存储在对象内的文件的信息。
对象存储在平面结构或地址空间中。每个对象都分配一个对象ID或唯一标识符,使它们可以从单个存储库或存储池中检索。企业非常重视这种方法,因为它提供了更大的灵活性,可以将数据放置在基于数据块和文件的存储解决方案之外。
杉岩海量对象存储针对海量非结构化数据存储的最优解决方案,采用去中心化、分布式技术架构、支持百亿级文件及EB级容量存储,具备高效的数据检索、智能标签和分析能力,轻松应对大数据和云时代的存储挑战,为企业发展提供智能决策!
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)