内容简介:周末读了ostep的两篇文章NFS的goal是fast crash recovery and simple,所以它的设计都是为这个目的服务。AFS却不同,它的goal为scale。也就是如何让server能支持更多的服务器。为了支持很多的client,要做的就是减少与client 与server的交互,也就减少了server的资源占用(cpu/network)。
周末读了ostep的两篇文章 Sun’s Network File System 和 The Andrew File System ,都是讲的分布式文件系统,但是侧重的方向不同,导致相关实现也全然不同,写篇笔记对比一下。
NFS
NFS的goal是fast crash recovery and simple,所以它的设计都是为这个目的服务。
key design
-
stateless
server不保存任何有关client的状态。假如crash,不用做任何操作,直接重启即可。这是一个最重要的设计。需要的信息都通过rpc的参数传递过来。
-
idempotent
接口都做到幂等性,这样做主要是为了处理message lost 或者 server crash这些情况,client只需要retry即可。
-
client-cache
这主要为性能考虑,但同时为带来一致性问题。NFS通过前先通过getattr request发送给server,查看cache是否过期,一般是周期性的问一下,比如所3s。同时在close的时候将cache刷回server。
AFS
AFS却不同,它的goal为scale。也就是如何让server能支持更多的服务器。为了支持很多的client,要做的就是减少与client 与server的交互,也就减少了server的资源占用(cpu/network)。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入应用C++11
祁宇 / 机械工业出版社 / 2015-5 / 79
在StackOverflow的最近一次世界性调查中,C++11在所有的编程语言中排名第二, C++11受到程序员的追捧是毫不意外的,因为它就像C++之父Bjarne Stroustrup说的:它看起来就像一门新的语言。C++11新增加了相当多的现代编程语言的特性,相比C++98/03,它在生产力、安全性、性能和易用性上都有了大幅提高。比如auto和decltype让我们从书写冗长的类型和繁琐的类型......一起来看看 《深入应用C++11》 这本书的介绍吧!