一种分布式文件系统cache方案

MooseFS通过检查缓存的文件是否被其它的客户端修改,来决定缓存是否有效,感觉与我实现的那个版本的DNFS缓存机制一模一样,客户端在判断缓存是否有效时,需要连接元数据服务器进行确认,以下详细的说明在集中情况下对缓存的处理。
场景1:
机器A读取文件X,(X的元数据被加入到机器A的缓存)
机器B读取文件X
此时,机器A欲读取/修改文件X(cache有效,因为文件没有被修改过)
场景2:
机器A读取文件X
机器A修改文件X
此时,机器A欲读取/修改文件X(cache有效,A已经知道文件被修改)
场景3:
机器A读取文件X
机器B修改文件X
此时,机器A欲读取/修改文件X(cache失效,A的缓存数据已不是最新的)
在DNFS中,客户端确认缓存是否有效在open中完成,也就是说以下情况发生时,不能保证缓存机制正常的工作。
场景4:
机器A打开文件X(open),并读取文件X(没有关闭)
机器B修改文件X
此时,机器A继续读取文件X,由于文件还未关闭(不会调用opoen),A将不检查缓存有效性,此时A读到的数据与第一次读取的相同,但这已不是X最新的数据。
缓存机制的实现需要考虑很多问题,一致性的保证是难点,在网络系统中,由于网络延时,完全的一致性是不可能的,必须在效率与一致性之间做折中,如何实现与系统的应用环境有关。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值