Minio(包含实战用法)

29 阅读2分钟

关于对象存储系统,网上有很多,比如阿里云,腾讯云,还有七牛云,都有对应的对象存储系统。今天我们来说的是一款企业常用的minio,这款系统需要自己手动搭建,是一款轻量级,高性能的对象存储系统,与其他应用可以轻松的结合,配置简单。

docker安装Minio

首先我们创建两个目录,一个data,一个config。一个来存放数据,一个来存放配置。并赋予这两个文件夹对应的权限。

mkdir -p /app/cloud/minio/data
mkdir -p /app/cloud/minio/config
chmod -R 777 /app/cloud/minio/data
chmod -R 777 /app/cloud/minio/config

然后我们需要拉取镜像

docker pull minio:minio

然后我们就可以启动容器

docker run -d -p 9000:9000 --name minio \
-e "MINIO_ACCESS_KEY=minio" \
-e "MINIO_SECRET_KEY=Aa123456" \
-v /app/cloud/minio/data:/data \
-v /app/cloud/minio/config:/root/.minio \
minio/minio server /data

最后就可以正常访问了。

java操作Minio

minio服务搭建完成,现在就是用java来操作minio,操作minio,首先引用minio依赖

<dependency>
<groupId>io.minio</groupId>	<artifactId>minio</artifactId><version>7.0.1</version></dependency>

然后就在yml中配置minio的基本信息,比如minio服务地址,用户名,密码以及bucketname。

然后创建对应的minionconfig读取配置文件的信息。

然后创建minioclient,进行对应的api操作即可。

实战

公司中,一般不会直接使用原始minioclient中的api,通常会进行api的二次封装再进行使用。

首先,会自定义一个minio的starter。 该starter中 主要封装了 自定义的minioclient和minioOperate。

自定义minioclient主要维护operate和真正的minioclient实例

operate主要根据自定义minioclient传入的client,进行真正的功能实现,以及功能扩展。

我们自定义了这样一个starter后,将该starter引入真正的项目中,并创建对应的minio工具类来对minio进行操作。  大致操作就是这样。