① 小白使用阿里云的oss实现文件云存储
项目需要上传头像,不想存在本地,之前用过阿里云其他产品,这里就使用一下阿里云的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性能比阿里云稍逊色,价格也会便宜点。
③ 个人私有云存储哪个好
个人私有云存储推荐:
1、可道云
可道云是一款可以像Windows操作一样的企业网盘,云端文档管理,在企业网盘内也可以像在电脑上操作一般熟悉而流畅,熟悉框选、拖拽、快捷键,从来没有这么简单方便。可道云拥有专业的在线编辑器,堪比本地编辑器的强大功能,直接在云端进行编辑、保存,随时随地进行站点管理。