大家好,我是二哥呀。技术派的教程中一直缺一篇,图片如何上传至阿里云的 OSS 服务器,虽然是一篇很基础的内容,但总这么缺着总有球友找我要,所以还是写一篇吧。
但我会结合技术派 admin 端的业务来写,比如说:
- 图片如何复制粘贴即可完成上传?
- 图片如何自动转链(外链转为内链,否则无法访问)?
- 图片如何防止 30s 内重复上传?
- 服务端如何利用 Guava Cache 提高图片上传的效率?
- 配置文件更新时自动初始化阿里云 Client?
- 如何通过开关自由切换本地图片服务还是阿里云 OSS 服务?
什么是 OSS?
OSS 也就是 Object Storage Service,是阿里云提供的一套对象存储服务,国内的竞品还有七牛云的 Kodo 和腾讯云的 COS。
由于技术派最新的服务器是腾讯云的香港服务器,为了提升服务器到 OSS 之间的传输效率,我本来是打算使用腾讯云的 COS,但开通后发现用起来很麻烦,不如阿里云的 OSS 来得方便,所以也就没有迁移。
之所以要迁移,是因为阿里云上有这么一个规定:
OSS 的 Bucket 在华东 1 (杭州),客户端(比如说技术派的服务器)所在地域为中国香港,这类场景客户端会受到跨墙连路,速度就会比较慢。
通过后台 StopWatch 日志(后面专门出篇教程来讲)打印观察到,技术派的图片上传瓶颈就是因为这个原因,很扯淡(😂)。
但不能不用!
OSS 存储比服务器端存储还是要方便很多,并且容易管理。即便是服务器迁移了,OSS 依然还能用,技术派的服务器就做过这么一个迁移。
阿里云丐版服务器(三年 200 多人民币屯的)→ 亚马逊服务器(太贵,一个月近 1000 人民币)→ 腾讯云香港地区(三年 3300 多人民币)
开通 OSS
OSS 本身还算是比较便宜的,一个月可能也就几块钱吧,我这边 100GB 中国大陆 标准版 一个月
回复