分布式文件系统设计一般化
/**
* @分布式文件系统
* @分布式文件系统是分布式应用系统的基础层
* @文件带区划分技术
* 通过该技术将一个文件分布在多态服务器,能够有可能并行获取不同部分
* 存储文件的数据具有非常规则的结构,(稠密)矩阵
*
* @GFS google file system 【图一】
* 由一个主服务器和多个块服务器(chunk server)组成
* 每个GFS文件被分成多个块,其中每个块分布在多个块服务器上
* 仅当需要元数据信息才联系GFS主服务器
* 特别是GFS客户把文件名和快索引传递个主服务器,并期望得到块的联系地址。
* 联系正确地址包括正确的块服务器信息以获得文件块所需的所有信息
* @GFS主服务器实质上是维护了一个命名空间,以及文件名到块的映射
* 每个块都有一个关联的标识符,允许块服务器查找
* 主服务器会记录块的位置
*
* @这种模式为什么是可伸缩?
* 主服务在很大程度上处于控制之下,但是它不会构成瓶颈,这是由于它所做的工作决定
* 1.大量的实际工作是由块服务器完成的
* 当客户需要访问数据时,他会联系主服务器,查明哪些快服务器保存该数据。
* 之后就会和快服务器通信
* 根据准主-备模式复制块
* 当客户执行更新操作,他会联系最近保存该数据的块服务器,并把它的更新推送给该块服务器
* 这个快服务器将把完成的更新动作继续重复推送给最近的下一个块服务器
* 一类类推,知道传播完成
* 客户联系主服务器获得更新操作分配的一个序列号,并传递给备份
* 主服务器会避开循环
*
* 2.使用简单的单级别(single-level)表来实现用于文件的名称空间,在该表中将路径名映射到元数据
* 在主存中保存这一整张表,以及文件到块的映射
* 对这些数据的更新将被记录到持久存储器中
* 当日志变得更大,创建检查点,通过它存储主存数据,并且要求它可以立即映射会主存汇总
* 极大的减少了GFS主服务的I/O密集性计算
*
* 这中组织能够允许主服务控制百台块服务器
*
* @对称式体系结构
* 所有目前的提议都使用用于分布式数据的基于DHT的系统,一种基于键的查找机制集合使用
* 一个重要的区别就是
* 1.是在分布式存储层的顶层构建文件系统
* 2.把全部文件都存储在参与节点上
*/