spring boot中使用分布式文件系统Minio--附代码

1. Minio简介

参考:https://docs.min.io/cn/minio-quickstart-guide.html

MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。

1.1 支持非结构化的数据存储:

spring boot中使用分布式文件系统Minio--附代码_第1张图片

1.2 分布式部署

分布式Minio可以让你将多块硬盘(甚至在不同的机器上)组成一个对象存储服务。由于硬盘分布在不同的节点上,分布式Minio避免了单点故障。

在大数据领域,通常的设计理念都是无中心和分布式。Minio分布式模式可以帮助你搭建一个高可用的对象存储服务,你可以使用这些存储设备,而不用考虑其真实物理位置。
spring boot中使用分布式文件系统Minio--附代码_第2张图片

Notes:分布式Minio至少需要4个硬盘,使用分布式Minio自动引入了纠删码功能。

spring boot中使用分布式文件系统Minio--附代码_第3张图片
spring boot中使用分布式文件系统Minio--附代码_第4张图片
spring boot中使用分布式文件系统Minio--附代码_第5张图片

2. 使用docker安装并启动Minio服务:

docker安装minio,参考:

可以使用:docker search minio查看docker仓库中的各个版本,可选择装指定版本

docker pull minio/minio
docker run -p 9000:9000 minio/minio server /data

安装后使用浏览器访问http://127.0.0.1:9000,如果可以访问,则表示minio已经安装成功。登录名和密码默认:minioadmin

创建bucket mall,在springboot中会使用。并使用配置只读,*.*
spring boot中使用分布式文件系统Minio--附代码_第6张图片
spring boot中使用分布式文件系统Minio--附代码_第7张图片

3. spring boot 中操作minio:

3.1 添加操作依赖

<dependency>
  <groupId>com.jlefeburegroupId>
  <artifactId>spring-boot-starter-minioartifactId>
  <version>1.1version>
dependency>

3.2 配置全局参数

Application.properties
# Minio Host
spring.minio.url=http://127.0.0.1:9000
# Minio Bucket name for your application
spring.minio.bucket=mall
# Minio access key (login)
spring.minio.access-key=minioadmin
# Minio secret key (password)
spring.minio.secret-key=minioadmin

3.3 测试案例:

spring-boot-minio

你可能感兴趣的:(spring,boot学习,spring,boot,分布式存储,java)