(5) 系统必须有效地实现多个客户端将数据并行附加到同一文件的语义以及明确定义的行为。我们的文件经常用于“生产者/消费者”队列和其他多路文件合并操作。通常有数百个生产者,每个生产者都在一台机器上运行并同时附加到文件。具有最小同步开销的原子多路径添加操作至关重要。该文件可以稍后读取,或者消费者可以在添加操作的同时读取该文件。
(6)高性能和稳定的网络带宽比低延迟重要得多。大多数目标程序都需要能够高速处理大批量数据。
很少有程序对单个读或写操作有严格的响应时间要求。
1.2
Google文件系统的系统架构Google文件系统的系统架构如图1所示。如图所示
如图1所示,一个GFS集群包括一台主服务器和多台块服务器,这些服务器由多个客户端访问。大文件被分割成固定大小的块
块服务器将块作为Linux 文件存储在本地硬盘上,并根据指定的块句柄和字节范围读写块数据。为了保证可靠性,每个块默认存储三个副本。主服务器管理文件系统的所有元数据。
包含命名空间、访问控制、文件到块的映射、块的物理位置以及其他相关信息。
由服务器和客户端共同设计,
GFS 帮助应用程序实现最佳性能和可用性。 GFS 是为Google 应用程序本身设计的,许多GFS 集群都部署在本地。一些集群拥有超过1000个存储节点和超过300T的硬盘空间,并且被不同机器上的数百个客户端连续频繁地访问。
图1 Google文件系统的系统架构
原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/86608.html