• 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
  • 相关阅读:
    喝健康白酒 有益生心健康
    load_state_dict(state_dict, strict=True)
    OpenCV oom问题解决
    如何让ChatGPT生成图片?
    MES系统是怎样实现生产调度的?
    web网页大作业:基于html设计与实现的茶文化网站12页(带psd)
    SQL Server入门-SSMS简单使用(2008R2版)-2
    位置变量及实例
    生活污水处理设备生产制造技术标准有哪些?
    第17章 注销器的泛型实现
  • 原文地址:https://blog.csdn.net/JHIII/article/details/126600219