MinIO 对象存储
目录
MinIO 是高性能 S3(Simple Storage Service / 简单存储服务) 兼容对象存储。
MinIO offers high-performance, S3 compatible object storage. Native to Kubernetes, MinIO is the only object storage suite available on every public cloud, every Kubernetes distribution, the private cloud and the edge. MinIO is software-defined and is 100% open source under GNU AGPL v3.
MinIO 存储堆栈具有三个主要组件:MinIO Server、MinIO Client(又名mc,这是一个命令行客户端,用于与任何Amazon S3兼容的服务器进行对象和文件管理),以及可供应用程序开发人员使用的MinIO Client SDK进行交互与任何与Amazon S3兼容的服务器。
MinIO Server
|
|
MinIO Client (mc)
MinIO 客户端 mc 命令行工具提供了一种现代的替代 UNIX 命令, 如 ls、cat、cp、mirror 和 diff 支持文件系统和兼容 Amazon S3 的云存储服务
|
|
Nginx proxy with MinIO Server
Set up Nginx proxy with MinIO Server
Upload Files Using Pre-signed URLs
MinIO SDK - Java Client
|
|
实践
- 每个平台(或应用)层级的创建两个桶,一个public桶,一个private桶。
- 公有桶里的文件通过:ip:port/文件名称 可以直接访问到
- 私有通的文件只能通过:presignedGetObject获取临时的访问地址,或者使用有权限的user进行下载访问
- 过大的文件,整体传递到服务端会消耗大量内存,但是可以通过presignedPutObject方法生成一个临时上传地址,客户端可使用这个地址直接访问minio服务进行上传,不经过服务端上传。
单个对象的最大大小限制在5TB。putObject在对象大于5MiB时,自动使用multiple parts方式上传。这样,当上传失败时,客户端只需要上传未成功的部分即可(类似断点上传)。
|
|