• SpringBoot整合minio分布式文件实操


    1.写在前面

    在java web编程中,目前微服务体系的框架越来越流行了,随着服务的拆分,可能我们的项目的细粒度,会变得很细。

    一般的项目,基本上都会涉及到文件的存储。对于文件的存储,这个在微服务的体系下,我们可以将文件抽取出一个独立的文件微服务。然后提供相应的api(上传,下载,删除)等......

    对于独立的文件微服务,我们可以根据项目的需求,使用策略模式,整合多个文件服务器,例如: 阿里云Oss 、 fastdfs 、 minio 等。

    今天我们主要讲的是 minio :

    MinIO是专门为海量数据存储、人工智能、大数据分析而设计的对象存储系统。据官方介绍,单个对象最大可达5TB。非常适合储海量图片、视频、日志文件、备份数据和容器/虚拟机镜像等

    1. 安装部署非常简单
    2. 操作简单,自带ui
    3. 性能优秀,可以达到每秒GB级别的读写速度
    4. 支持主流的云原生容器化部署
    5. 提供多语言SDK的支持
    6. 参考学习文档非常全面

    既然minio有这么多优点,那我们来整合一下minio吧!

    2.minio部署

    学习文档:minio学习文档

    githug地址: minio

    java sdk文档:java sdk

    docker 部署文档:docker部署minio

    这里提供的文档是英文的,为什么这里列出中文的文档呢?

    那是因为中文的文档,有些地址都是404,好像没有更新维护一样,所以这里只是列出英文的文档。

    但是也建议大家看英文的文档,毕竟大部分的文档都是英文的。哈哈!!!

    这里使用docker方式部署minio:

    # 创建一个文件夹
    mkdir -p ~/minio/data
    
    # docker运行minio
    docker run \
       -p 9000:9000 \
       -p 9090:9090 \
       --name minio \
       -v ~/minio/data:/data \
       -e "MINIO_ROOT_USER=ROOTNAME" \
       -e "MINIO_ROOT_PASSWORD=CHANGEME123" \
       quay.io/m
  • 相关阅读:
    创建自己的日期错误异常类
    iconfont小图标从下载到引入到vue项目中的详细教程
    LeetCode算法心得——和为k的子数组(前缀和+HashMap)
    Java常量池
    Git 常用命令指南:从入门到精通
    Activiti7报错:org.springframework.security.core.userdetails.UserDetailsService
    Linux常用工具
    257. 关押罪犯
    Spring 如何使用注解实现事务管理呢?
    Day14——二叉树的前中后序遍历(迭代&&递归)
  • 原文地址:https://blog.csdn.net/JHIII/article/details/126600219