Minio

Minio

1.简介

MinIO 是一个开源的对象存储服务器,它允许用户通过简单的 HTTP REST API 来存储和检索任意数量的数据。MinIO 是一个轻量级、高性能的分布式存储系统,专门设计用于大规模数据存储和处理。

以下是 MinIO 的一些主要特点和优势:

  1. 高性能: MinIO 使用 Go 语言编写,具有出色的性能和并发处理能力。它可以在常见硬件上实现接近线性的扩展性。
  2. 易用性: MinIO 的 API 遵循 S3 协议,因此与许多现有的 S3 兼容客户端和工具兼容。这使得使用 MinIO 变得非常容易,并且可以与许多现有的应用程序和工具集成。
  3. 分布式架构: MinIO 具有分布式架构,可以将数据水平扩展到多个节点,以实现高可用性和容错性。
  4. 安全性: MinIO 提供了多种安全功能,包括针对数据的加密传输和加密存储,以及针对访问控制的权限管理机制。
  5. 灵活性: MinIO 可以部署在公共云、私有云或混合云环境中,同时还支持容器化部署。

总的来说,MinIO 提供了一个高性能、易用和灵活的对象存储解决方案,适用于各种场景,包括大规模数据存储、数据湖、备份和归档等。

2.快速入门

2.1导入依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<dependencies>
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>7.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>

2.2 文件上传

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import io.minio.MinioClient;
import io.minio.ObjectWriteResponse;
import io.minio.PutObjectArgs;
import org.junit.jupiter.api.Test;

import java.io.FileInputStream;

public class UpdateFile {
@Test //测试
public static void main(String[] args) throws Exception {

//加载客户端对象
MinioClient minioClient =
MinioClient.builder()
.endpoint("http://111.45.25.85:9000") //minio主机
.credentials("minio", "minio123") //minio服务器用户名和密码
.build();

FileInputStream image = new FileInputStream("D:\\桌面的文件夹\\桌面壁纸\\default.png"); //需要上传的文件路径
ObjectWriteResponse kangkang = minioClient.putObject(
PutObjectArgs.builder()
.bucket("kangkang") //bucket桶的名称
.object("文件/default.png") //需要上传到哪个目录
.stream(image, image.available(), -1) //放入流中
.contentType("image/png") //文件类型
.build()
);
System.out.println(kangkang);

}
}


Minio
http://example.com/2024/03/29/Minio/
作者
kangkang
发布于
2024年3月29日
许可协议