前提
我也是今天才用这个技术, 之前没有用过, 在做项目的时候, 本来二级平台(IOT)说的是直接推送图片的URL给到我的, 但是应为一些网路原因, 导致了二级平台在局域网, 并且不允许直接暴露在互联网上, 所以改为图片转Base64推送给我, 本来我计划的方案是, 在一级平台上部署一个Nginx, 然后一级平台往Nginx的暴露文件夹下写图片, 通过Nginx做静态资源的Http请求的访问
架构图
但是这样在开发环境是没有问题的, 但是在生产环境就有问题了, 因为直接写入Nginx的本地磁盘,会存在单点问题, 如果是多台的话, 虽然有办法可以做到访问, 但是会有数据割裂的问题, 一旦某节点数据丢失, 那么是没办法恢复的,
后来和运维聊完之后, 说是有现成的对象存储服务, MinIo
MinIo简介
多 云对象存储
MinIO 提供高性能、兼容 S3 的对象存储。 MinIO 原生于 Kubernetes,是 每个公共云、每个 Kubernetes 发行版、私有云和 边缘上唯一可用的对象存储套件。MinIO 是软件定义的,在 GNU AGPL v3 下是 100% 开源的。
MinIo单击版部署
官网
代码语言:javascript复制https://min.io/
下载
里面提供了很多种的部署方式, 包含沙箱和原生等
部署
我是直接基于Linux部署的
里面的命令直接粘贴就可以
访问页面
访问地址
代码语言:javascript复制http://192.168.247.130:9001/login
输入用户名和密码
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password
第一次是没有Bucket的需要自己创建
创建Bucket
其他功能自行探索
设置为公开的
设置权限为读写
创建用户
分配权限
在存储桶的用户中能看到就可以
也可以使用新的用户登录, 到此部署结束, 当然只是单机版的, 集群就交给运维吧