Skip to content

分布式存储

1、MinIO

MinIO是一个高性能、开源的对象存储服务,用于存储非结构化数据,如照片、视频、日志文件、备份和容器/虚拟机映像。

参考一下这个:

建议具体使用一下

一般是在我们项目中引入依赖,然后进行配置(客户端配置),通过设置访问密钥和私钥后,进行连接,可以进行上传文件操作,Minio 会提供一些公共 API 方法,我们一般会封装一个工具类,然后去使用他。

服务器的一种创建方式是通过dokcer 去拉取,然后创建容器启动,管理控制台后进行相关的配置。


服务器端配置

拉取镜像

docker pull minio/minio

创建一下挂载目录

#创建存储,配置文件目录
mkdir -p /home/minio/{data,config}
#赋予目录权限
chmod 777 /home/minio/{data,config}

启动容器

docker run -p 9000:9000 -p 9090:9090 --name minio -d --restart=always -e "MINIO_ROOT_USER=minio" -e "MINIO_ROOT_PASSWORD=minio123" -v /home/minio/data:/data -v /home/minio/config:/root/.minio minio/minio server /data --console-address ":9090"

解析:

  • -p:宿主端口:容器端口
  • --name:容器名称
  • --restart=always:设置docker启动时,容器跟随自启
  • -e "MINIO_ACCESS_KEY=admin":设置minio的用户名
  • -e "MINIO_SECRET_KEY=minio123":设置minio的密码
  • -v /home/minio/data:/data:挂载容器的存储目录到宿主
  • -v /home/minio/config:/root/.minio:挂载容器配置文件到宿主
  • /data --console-address ":9090":固定 9090 端口访问minio的web控制台

通过 IP + 9090 端口,看是否能正常访问。

官方文档地址: https://www.minio.org.cn/docs/minio/container/index.html

创建 minio 服务后,建议创建用户 → 创建用户组 → 创建公钥和私钥

这里找一个 minio 的 demo 项目看一下,主要还是总结一下相关流程,并知道如何通过 minio 进行文件上传下载操作。

https://github.com/bm4578/SpringBoot/tree/main/SpringBoot-minio

(比较基础)

示例操作:

2、FastDFS

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。

3、OSS