[开源]一个MinIO的二次封装与增强工具,简化开发只增强、不侵入

科技一飞开源 2024-11-13 17:49:15

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介MinIO Plus我们的愿景是成为 MinIO 最好的搭档

MinIO-Plus 是一个 MinIO 的二次封装与增强工具,在 MinIO 的基础上只做增强,不侵入 MinIO 代码,只为简化开发、提高效率而生。成为 MinIO 在项目中落地的润滑剂。

我们的开源原则

我们承诺此项目使用 Apache License 2.0 开源许可证永不变更。

我们承诺此项目使用永久免费可商用,杜绝文档收费、升级收费、功能收费等情况。

我们承诺此项目绝不竞价排名,杜绝刷 star 数据、刷 fork 数据,保证项目纯洁。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

四、功能概述

MinIO-Plus 是一个 MinIO 的二次封装与增强工具,在 MinIO 的基础上只做增强,不侵入 MinIO 代码,只为简化开发、提高效率而生。成为 MinIO 在项目中落地的润滑剂。

特性 | Feature无侵入 :只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。文件秒传 :对每个上传的文件进行哈希摘要识别,用户上传同一个文件时,没有文件实际传输过程,做到秒传。并发上传 :将文件切分为小块。同时并发上传多个小块,最大限度地利用带宽,加快上传速度。断点续传 :在传输过程中遇到问题导致传输失败,只需重新传输未完成的小块,而不需要重新开始整个传输任务。缩略图生成 :识别文件类型,在图片上传时自动生成缩略图,缩略图大小可配置。自动桶策略 :按照文档、压缩包、音频、视频、图片等类型自动建桶,按照/年/月划分路径,避免受到操作系统文件目录体系影响导致性能下降。访问权限控制 :可支持基于用户、组的文件权限控制,保证重要文件的安全性。访问链接时效 :基于 MinIO 的临时链接创建策略,提供具备有效期并预签名的上传与下载地址。前端直连 :前端直连 MinIO ,项目工程不做文件流的搬运,在支持以上特性的情况下提供 MinIO 原生性能。极佳的兼容性 :JDK 从 1.8 至 17+,并同时支持 SpringBoot2 和 SpringBoot3。五、技术选型代码结构

项目定位为一个MinIO的Java语言SDK,非独立部署服务,并支持spring-boot自动装配。 用户自行实现数据存储部分,项目仅提供MySQL默认实现。

模块划分​

minio-plus-api:MinIO Plus 对外提供的能力接口定义,可以理解为 Service 层接口定义minio-plus-core:核心业务逻辑包,可以理解为 minio-plus-api 包的接口实现minio-plus-extension:扩展包,该包封装了Controller相关接口,可以理解为 minio-plus-api 包的接口的 Controller 层封装,帮助项目使用时开箱即用minio-plus-common:工具类、配置类包minio-s3-apiminio-s3-api-definition:MinIO Plus 使用的S3规范接口定义minio-s3-api-official:原生SDK实现minio-s3-api-custom:自主实现minio-plus-spring-boot-starterminio-plus-all-spring-boot-starter:包含core、extension、common、apiminio-plus-core-spring-boot-starter:包含core、common、apiminio-plus-applicationminio-plus-application-official:使用原生MinIO SDK与元数据使用MySQL数据库的示例工程minio-plus-application-custom:使用自主实现S3规范与数据使用MySQL数据库的示例工程

来源:MinIO Plus 官方文档

六、源码地址

访问一飞开源:https://code.exmay.com/

0 阅读:0