多数应用系统都会用到图片存储,从系统架构角度来说,像图片存储这样的服务应该尽量从核心业务中剥离出来。很多人会选择在线云存储服务,比如七牛云存储之类的。但是很多企业项目因为各种需求,还是会要求图片服务部署在内部。所以我们还是可能会需要一个可独立部署的图片服务。
自己开发实现一套图片存储服务系统,会花不少功夫,但如果有现成的方案何乐而不为呢?我在Github上发现Minio和Thumbor这两个项目可以帮我们达成需求。
Minio
Minio Cloud Storage是一个分布式对象存储系统。它是一个基于Go的开源项目,并且实现了Amazon S3的API。也就是说Minio相当于一个开源的Amazon S3。
使用docker安装可能是最省事的方式,两行命令即可安装下载并且运行起来。注意,这种启动模式仅限于测试环境下,一旦命令终止,数据将会消失。生产环境下的安装部署请参考文档。
docker pull minio/minio
docker run -p 9000:9000 minio/minio server /export
启动之后,命令行中就会显示一堆系统信息。
Endpoint: http://172.17.0.2:9000 http://127.0.0.1:9000
AccessKey: PT7TIDXEV7KH7S5R91JH
SecretKey: 17hdYH0mF2Ljd3ahZ7JGyi5l/ZPjunLlldUMY/A0
Region: us-east-1
SQS ARNs:
之后就可以在浏览器中访问 http://127.0.0.1:9000 并且使用AccessKey和SecretKey登录。
其核心功能很简单,创建bucket&#x