Minio
1.简介
MinIO 是一个开源的对象存储服务器,它允许用户通过简单的 HTTP REST API 来存储和检索任意数量的数据。MinIO 是一个轻量级、高性能的分布式存储系统,专门设计用于大规模数据存储和处理。
以下是 MinIO 的一些主要特点和优势:
- 高性能: MinIO 使用 Go 语言编写,具有出色的性能和并发处理能力。它可以在常见硬件上实现接近线性的扩展性。
- 易用性: MinIO 的 API 遵循 S3 协议,因此与许多现有的 S3 兼容客户端和工具兼容。这使得使用 MinIO 变得非常容易,并且可以与许多现有的应用程序和工具集成。
- 分布式架构: MinIO 具有分布式架构,可以将数据水平扩展到多个节点,以实现高可用性和容错性。
- 安全性: MinIO 提供了多种安全功能,包括针对数据的加密传输和加密存储,以及针对访问控制的权限管理机制。
- 灵活性: 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") .credentials("minio", "minio123") .build();
FileInputStream image = new FileInputStream("D:\\桌面的文件夹\\桌面壁纸\\default.png"); ObjectWriteResponse kangkang = minioClient.putObject( PutObjectArgs.builder() .bucket("kangkang") .object("文件/default.png") .stream(image, image.available(), -1) .contentType("image/png") .build() ); System.out.println(kangkang);
} }
|