1. GFS 的系统架构
GFS 的系统架构GFS将系统节点分为三个部分:
GFS 系统节点
2. GFS 的实现机制:
- 客户端首先访问Master节点,获取交互的Chunk Server信息,然后访问这些Chunk Server,完成数据存取工作。这种设计方法实现了控制流和数据流的分离。
- Client与Master之间只有控制流,而无数据流,极大地降低了Master的负载。
- Client与Chunk Server之间直接传输数据流,同时由于文件被分成多个Chunk进行分布式存储,Client可以同时访问多个Chunk Server,从而使得整个系统的I/O高度并行,系统整体性能得到提高。
3. GFS 特点
- 采用中心服务器模式
- 可以方便地增加Chunk Server
- Master掌握系统内所有Chunk Server的情况,方便进行负载均衡
- 不存在元数据的一致性问题
- 不缓存数据
- 文件操作大部分是流式读写,不存在大量重复读写,使用Cache对性能提高不大
- Chunk Server上数据存取使用本地文件系统,从可行性看,Cache与实际数据的一致性维护也极其复杂
- 在用户态下实现
- 利用POSIX编程接口存取数据降低了实现难度,提高通用性
- POSIX接口提供功能更丰富
- 用户态下有多种调试工具
- Master和Chunk Server都以进程方式运行,单个进程不影响整个操作系统
- GFS和操作系统运行在不同的空间,两者耦合性降低
4. GFS 容错机制
Master 容错Chunk 容错
网友评论