场景

需求

  1. 写入文件,读取文件
  2. 支持多大的文件
  3. 多态机器存储文件

服务

客户端与服务端

服务端如何进行沟通,

构建一个master节点,进行接受请求

  1. 点对点
  2. master-slaver

storage

存放文件

多次访问原信息

  1. 原信息
  2. 内容信息

通过原信息找到内容信息

存放1tb的,那就是借鉴二级分页的方式来处理,index,存放的是chunk

存放到多个服务器,

使用index放多个server的offset

如何写入一个文件

拆分为chunk,然后进行传输

  1. 与master进行沟通
  2. master分配chunk server
  3. 之后开始写入
  4. 返回写入成果

修改的话,参考redis,直接删除

如何读取

参考上面的思路,还是需要master得到list列表

如何避免数据丢失

使用replicate

如何发现chunke服务器寄了

使用心跳机制