一、为什么网站架构里需要独立存储¶
原始笔记对存储服务的定位很明确:它主要用于存放用户上传的内容,通常处在网站架构靠后的数据层位置。
如果没有独立存储,用户上传的数据往往会直接落在某一台 Web 服务器本地。这会带来一个非常典型的问题:
- 用户下一次请求如果落到另一台机器,就可能找不到刚才上传的数据
而一旦使用统一存储,用户上传的数据会集中保存,多个业务节点也就能共享访问这些内容。
二、存储服务在网站架构中的位置¶
从架构层面看,存储通常不位于最前面的流量入口,而是在网站后排承担数据承载角色。
可以把它理解成:
- 用户请求先经过接入层和业务层
- 业务层需要读写文件或上传内容时,再访问存储层
所以存储服务往往不是最显眼的组件,但却是业务完整性非常关键的一层。
三、做存储时最基础的要求是什么¶
原始笔记给出的第一条要求很朴素,但很重要:
- 空间要大
这是因为存储层天然承载:
- 用户上传文件
- 业务共享文件
- 媒体资源
- 归档内容
因此它首先是容量问题,其次才是共享、性能和高可用问题。
四、常见存储分类有哪些¶
原始笔记把存储大致分成三类。
4.1 硬件存储¶
特点是:
- 直接依赖硬件设备
- 硬盘多、容量大
- 使用时通常以挂载方式接入
这类方案在传统机房环境里很常见。
4.2 开源软件存储¶
这是学习网站架构时最常见的一类,包括:
- 普通共享存储:
NFS - 分布式存储:
GlusterFS、Ceph - 其他文件存储方案:如
FastDFS
其中:
NFS更适合作为入门级共享存储- 分布式存储更适合规模更大、要求更高的场景
4.3 云产品存储¶
常见对象存储服务包括:
- 阿里云
OSS - 七牛云存储
- 腾讯云
COS
和传统自建存储不同,这类服务由云厂商提供,业务通常通过接口调用对象存储能力。
五、NFS 为什么是经典入门方案¶
在 Linux 集群架构学习中,NFS 几乎是最经典的共享存储起点。原因很简单:
- 部署相对容易
- 用法直观
- 非常适合实验环境和中小型共享场景
它能帮助初学者先理解:
- 什么是“统一共享目录”
- 客户端为什么可以像访问本地目录一样访问远端内容
- 存储层如何和业务节点连接起来
六、NFS 的工作原理要先抓住什么¶
原始笔记提到,NFS 体系里至少要先认识两个服务:
NFSrpcbind(也叫portmap)
6.1 NFS 服务负责什么¶
它负责真正提供共享目录,让客户端能够访问远程文件系统。
6.2 rpcbind 负责什么¶
它负责帮助客户端找到 NFS 相关服务的端口和注册信息。
也就是说,NFS 能正常工作,往往离不开 rpcbind 的配合。
七、从架构角度如何理解 NFS¶
在网站环境里,NFS 更适合解决“多台机器共享一份文件数据”的问题,例如:
- 多台 Web 服务器共享上传目录
- 多台业务节点共享静态文件
- 某些中间服务统一挂载公共数据目录
它的好处是:
- 架构简单
- 接入成本低
- 对学习共享存储原理非常友好
但原始笔记后面也提到,NFS 存在单点问题,因此它更像是共享存储学习的第一站,而不是所有场景下的终极方案。
八、存储和备份之间是什么关系¶
原始笔记里专门提到“存储与备份串联”,这点非常重要,因为很多人容易把二者混为一谈。
它们的定位其实不同:
- 存储:解决业务在线访问数据的问题
- 备份:解决数据恢复与容灾的问题
简单说:
- 存储是给业务“用”的
- 备份是给故障“救”的
一个成熟的网站架构里,这两层通常都不能缺。
九、小结¶
学习存储服务时,建议先把这几件事理清:
- 为什么网站不能只把数据放在单台 Web 服务器上
- 存储层在整体架构里处于什么位置
- 常见存储方案有哪些
- NFS 为什么适合做 Linux 共享存储入门
- 存储和备份分别解决什么问题
当这些概念先建立起来后,后面再去学 NFS 部署、挂载、配置选项和优化,就会顺很多。