最近才知道minio这个对象存储服务中间件,简直相见恨晚,只怪我见识太短浅(哭泣脸)。,说得通俗易懂点,minio的作用就是用来存储文件的,比如图片、视频、音频等各种类型的文件。,那么问题来了,java本身就可以直接把文件写到磁盘里面,为什么还要用minio呢?,所以综上所述,相较于其他的文件存储方案,minio的竞争力还是很大的。下面附上官网链接。,一般为了简单集成minio client,我们会自己部署一个单机版的先用用。现在我们开始,讲解一下如何快速部署一个单机版minio服务:,以上需要注意的几个点:,为了启动纠删码模式,我们需要在部署的服务上挂载至少4块磁盘:,在单机模式部署的情况下,调整为纠删码模式,我们需要修改两个地方:,该模式运行其中某个磁盘出现损坏的情况,在磁盘损坏后也能保证文件不会丢失。,在单机上部署纠删码模式只能保证磁盘损坏的情况下,文件不丢失;并不能解决单点故障的问题,所以我们下面为了避免单点故障导致服务不可用,把minio服务改成分布式部署。,我们就部署四个机器,每个机器挂载四个磁盘,这样的话,我们就形成了分布式纠删码模式了,这样的话,我们文件存储服务的可靠性就大大地增强了。,在启动命令中,我们需要把集群中所有的服务ip都写进去,这样的话,minio分布式服务才能正常通信。,当四台机器上的服务全部起来后,我们需要提供一个负载均衡服务作为访问minio分布式服务的统一的入口,首当其冲我们就想到了nginx,所以我们在使用docker compose部署一个nginx服务:,下面是nginx配置文件:,启动nginx服务,这样所有的请求都通过nginx负载均衡到minio服务上。,这样完成了minio服务的三种docker compose部署方式,逐次递进地讲解了每种方式的优势。如果我们只是为了集成minio到我们的应用程序中,只需要搭建一个单机版的服务即可。更多相关Docker compose内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!