内容简介:周末读了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)。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Go Web 编程
[新加坡]Sau Sheong Chang(郑兆雄) / 黄健宏 / 人民邮电出版社 / 2017-11-22 / 79
《Go Web 编程》原名《Go Web Programming》,原书由新加坡开发者郑兆雄(Sau Sheong Chang)创作、 Manning 出版社出版,人名邮电出版社引进了该书的中文版权,并将其交由黄健宏进行翻译。 《Go Web 编程》一书围绕一个网络论坛 作为例子,教授读者如何使用请求处理器、多路复用器、模板引擎、存储系统等核心组件去构建一个 Go Web 应用,然后在该应用......一起来看看 《Go Web 编程》 这本书的介绍吧!