GFS - Hei-Sherry/OpenSourceLearn GitHub Wiki

  1. 故障是常态 -> 监控+错误侦探+灾难冗余+自动恢复
  2. 文件巨大 -> 需要考虑 I/O 操作和 Block size
  3. 大部分场景都是追加写 -> 性能优化和原子保证的主要考虑因素
  4. 系统和 api 协同设计 -> 原子追加写,多个 client写同一个文件,不需要额外的同步,因此更灵活 。

设计要点: 高性能的网络带宽 > 低延迟。主要负载:大规模的流式读、追加写、小规模随机读(随机写性能会差)

不考虑缓存(client流式读取大文件,chunk 服务器用文件系统的缓存)