MIT6824笔记六 线性一致与Zookeeper

这节课主要介绍了线性一致的概念与Zookeeper论文。

线性一致描述的是系统的行为,正确的行为是客户端发送了一个写请求并且收到服务端答复后,这个写请求能被之后的读请求看到。每个读请求看到的都是最新的写请求所作的更改。

Zookeeper论文是我接触到的最抽象的一篇论文。首先它的功能就很抽象:分布式协调内核。它提供的两个保证:线性写和FIFO客户端请求也费时间理解。最后则是它的API调用以及具体实现。

读这篇论文的原因我想一是Zookeeper的广泛使用,证明了其实用性;二是其“线性一致”的设计,契合课程。收获就是其API的设计、Watch模式。

阅读更多

MIT6824笔记三 分布式存储系统GFS

这节课主要介绍分布式存储系统的难点以及论文GFS。

分布式系统出现的原因是人们想要利用更多的机器实现更好的性能,但更多的机器意味着故障的期望上升。解决单台机器故障最简单的办法就是多副本的容错机制,但多副本间需要时间同步。一致性难题意味着牺牲性能,这是个闭环,人们必须在性能和一致性上做取舍。

对于GFS的学习,我觉得首先要明白GFS应对的需求,整体的架构设计,然后就是读写过程,数据一致性,这是从使用层面上来说的。在高可用方面,GFS的备份管理、文件快照、崩溃恢复等细节需要再深入研究。

阅读更多

Learn Vim Efficiently 1

前言:学linux时接触了vim这个编辑器,当时只知道三种模式转换,并不觉得vim有多好用。看南大蒋炎岩操作系统课程时,jyy在shell上键指如飞,我就思考为什么他能够编辑得这么快。我想到的一个点就是光标的移动。在没有接触vim之前,我都是通过键盘右下角的上下左右键进行光标的移动,这意味着右手需要移动一段距离。而接触vim之后,hjkl的移动映射只能说真香。现在我恨不得接触到的每个文本编辑器都有vim工作模式。

推荐阅读:

快速体验:力扣刷题设置绑定vim键位,快速体验vim。

阅读更多