url|极光笔记丨搭建UMS私有云文件服务器( 三 )
把Nginx代理ip和端口号或者minIO集群中任意节点的ip和端口号输入浏览器,输入minIO的账户名和密码即可登录,界面如下:
2.具体交互逻辑
首先,客户端要请求业务服务器(WebServer/APIServer)获取上传文件的凭证(presignedURL),然后,业务服务器响应一个上传文件URL和下载文件的URL,客户端使用上传URL上传文件到文件服务器,使用下载URL作为请求后端的文件参数,如发送邮件消息支持上传本地图片,上传到后端的图片即可使用文件下载URL作为参数。
该方案的优点如下:
- 客户端直接上传文件到minIO服务器,不经过业务服务器,减轻业务服务器的压力,提高可用性
- 数据库服务器只存储文件的下载URL,减少数据库的存储量
- 支持上传超大文件,比如3G以上等,硬件性能足够的情况下,minIO服务器单个文件最大可达5T
- 上传文件的数量没有限制
- 可以解决同名文件覆盖问题
- 可以适配任何兼容S3协议的文件服务器,满足不同客户的要求
- minIO分布式部署架构
minIO集群采用去中心化无共享架构,各节点间为对等关系,连接至任一节点均可实现对集群的访问,这种节点间保持对等关系的设计并非最常见的分布式集群架构。当前大多数的分布式存储集群,其节点往往可划分为多类角色,例如负责连接并处理外部应用请求的访问节点、负责存储元数据的管理节点、实际的数据存储节点等。minIO与之不同,minIO集群中的所有节点都同时承担了多种角色,集元数据存储、数据存储、应用访问等功能于一体,真正实现了去中心化和所有节点的完全对等。其优势在于有效地减少了集群内的复杂调度过程以及因中心节点带来的故障风险和性能瓶颈。
下图minIO集群增加了Nginx代理:

部署minIO集群只需一条命令,但集群中每个节点都要执行相同的命令

其中,官方推荐节点ip要连续。
1.2 minIO扩容方案
首先,minIO的极简设计理念使得minIO分布式集群并不支持向集群中添加单个节点并进行自动调节的扩容方式,这是因为加入单个节点后所引发的数据均衡以及纠删组划分等问题会为整个集群带来复杂的调度和处理过程,并不利于维护。因此,minIO提供了一种对等扩容的方式,即要求增加的节点数和磁盘数均需与原集群保持对等。
例如原集群包含4个节点4块磁盘,则在扩容时必须同样增加4个节点4块磁盘(或为其倍数),以便系统维持相同的数据冗余SLA,从而极大地降低扩容的复杂性。如上例,在扩容后,minIO集群并不会对全部的8个节点进行完全的数据均衡,而是将原本的4个节点视作一个区域,新加入的4节点视作另一区域,当有新对象上传时,集群将依据各区域的可用空间比例确定存放区域,在各区域内仍旧通过哈希算法确定对应的纠删组进行最终的存放。此外,集群进行一次对等扩容后,还可依据扩容规则继续进行对等扩容,但出于安全性考虑,集群的最大节点数一般不得超过32个。
minIO支持通过命令,指定新的集群来扩展现有集群(纠删码模式),命令行如下:

现在整个集群就扩展了1024个磁盘,总磁盘变为2048个,新的对象上传请求会自动分配到最少使用的集群上。通过以上扩展策略,您就可以按需扩展您的集群。重新配置后重启集群,会立即在集群中生效,并对现有集群无影响。如上命令中,我们可以把原来的集群看做一个区,新增集群看做另一个区,新对象按每个区域中的可用空间比例放置在区域中。在每个区域内,基于确定性哈希算法确定位置。
- 笔记本|双芯协同!上手Reno8 Pro花仙紫,氛围感人像神器稳了
- rest|golang笔记 | 面试题整理
- 笔记本|续航媲美MacBook Air,这款Windows笔记本太适合办公了
- 比特币|买小众低端品牌笔记本,还不如二手一线品牌高配置,有道理吗?
- 笔记本电脑|华硕笔记本电脑问题不断?消费者很糟心
- 如何在 Notion 类产品中使用卡片笔记写作法:理念与实践
- 笔记本|一台当四台用!ROG幻16翻转本首发开卖:奢华配置18999元
- 华硕笔记本电脑问题不断?消费者很糟心
- 英特尔|AMD和Intel笔记本如何选?最新CPU天梯图告诉你答案
- 笔记本|久未露面的马云,驾着13亿游艇在西班牙游玩,说好当乡村教师呢?
