Note:以下10个点为老师画的重点
第一章 分布式系统概论,第二节
第四章 分布式通信管理, 第二节
效果:讲客户过程对客户存根发出的本地调用转换成对服务器过程的本地调用,而客户和服务器都不会意识到有中间步骤的存在。
第四章 分布式通信管理 第四节
时间戳向量:设组内有n个进程,每个进程设置一个n元向量 V [ n ] = { V [ 1 ] , V [ 2 ] , . . . , V [ n ] } V[n] = \{V[1], V[2], ..., V[n]\} V[n]={V[1],V[2],...,V[n]}
发送者:修改向量: V [ j ] = V [ j ] + 1 ; V[j] = V[j] + 1; V[j]=V[j]+1; (第j个进程)
接收者:
其中, V i V_i Vi是发送方向量种的第i位, L i L_i Li是接收方向量中的第i位,假设消息由进程j发送。
举例1:对于下列表格表示的进程,由进程1向其他的进程发送消息,此时刻,哪些进程需要等待,哪些进行可以接收消息。
对于此题,需要分别分析两个条件是否满足。
对于条件(1):消息由进程1发送,则首先需要满足 V 1 = L 1 + 1 V_1 = L_1 + 1 V1=L1+1
也就是对于每个进程的第一维数据(4,3,3,3,2,3)而言,4=3+1,所以可以看出进程5不能接收消息,需要等待,其余进程均满足条件(1)。
对于条件(2):消息由进程1发送,则需要满足 i ≠ j i \neq j i=j(即所有进程排除第一维数据),有 V i ≤ L i V_i ≤ L_i Vi≤Li
所以对于1-6这几个进程而言,排除第一维数据后,其余的数据都需要比进程1的各维数据相等或更大,所以可以看出对于进程3而言5<6,所以进程3不能接收消息,需要等待。
综上两个条件,进程3,5需要等待,其余进程均可同时满足条件(1)(2),所以可以接收进程1发送的消息。
示例2:下面表格中分别是进程1到进程6中消息的时间戳向量,在满足因果关系的前提下,试分析说明进程2中当前的消息m在哪些进程中能够递交,在哪些进程中暂时不能递交。
1 | 2 | 3 | 4 | 5 | 6 | |||||
---|---|---|---|---|---|---|---|---|---|---|
7 | 7 | 7 | 5 | 7 | 7 | |||||
5 | 7 | 6 | 6 | 6 | 6 | |||||
5 | 5 | 5 | 5 | 5 | 5 | |||||
4 | 4 | 4 | 4 | 3 | 4 | |||||
3 | 3 | 3 | 3 | 3 | 3 | |||||
1 | 1 | 1 | 1 | 1 | 1 |
就是进程1,4,5需要等待;3,6可以接收消息。
第五章 分布式命名管理 第二节
当实体从A移动到B之后,在A上设置一个指向B的引用
优点:客户可利用传统的命名服务
缺点:间址链可能会很长、链的中间节点需要维护转发信息、链容易断
目标:限制链的长度,保证链的鲁棒性
第五章 分布式命名管理 第二节
1 | 4 | 9 | 11 | 14 | 18 | 20 | 21 | 28 | ||
1 | 1 | 4 | 9 | 11 | 14 | 18 | 20 | 21 | 28 | 1 |
2 | 2 | 4 | 9 | 11 | 14 | 18 | 20 | 28 | 28 | 1 |
3 | 4 | 9 | 9 | 14 | 18 | 18 | 28 | 28 | 28 | 1 |
4 | 8 | 9 | 14 | 18 | 20 | 28 | 28 | 28 | 1 | 4 |
5 | 16 | 18 | 20 | 28 | 28 | 1 | 4 | 4 | 9 | 14 |
第六章 分布式同步控制 第二节
校正算法
三个进程,各有自己的局部时钟,他们速率不同;通过Lamport算法,校正时钟
校正算法:
第六章 分布式同步控制 第四节
第七章 分布式一致性与复制管理 第二节
连续一致性(continuous consistency)
一致性单元(conit):受控的数据集
顺序偏差即在本地还没有提交的更新操作的个数
数值偏差(x,y): x表示其他副本已经做了, 但是本地副本还没看见的操作数量; Y表示这些操作带来的数值变化
举例:conit(x, y)
<5, B>:5为时间戳,B为从B传过来
示例1:如下图所示,为持续一致性的示意图。在副本A和副本B中有含数据项x和y,这两个变量都假设初始化为0。操作表格中阴影部分表示为持久化(永久性)的操作,不能回滚;其余操作表示暂时的更新操作。请采用向量时钟、顺序误差和数值误差三个指标描述两个副本之间的差异。(其中数值误差用各数据项的差分和表示)
(1)向量时钟:
(2)顺序偏差
(3)数值偏差
示例2:如下图所示,为持续一致性的示意图。在副本A和副本B中有含数据项x和y,这两个变量都假设初始化为0。操作表格中阴影部分表示为持久化(永久性)的操作,不能回滚;其余操作表示暂时的更新操作。请采用向量时钟、顺序误差和数值误差三个指标描述两个副本之间的差异。(其中数值误差用各数据项的差分和表示)
A:向量时钟:(10, 0);顺序偏差:2 ;数值偏差:(2, 16)
B:向量时钟:(3, 17);顺序偏差:2 ;数值偏差:(1, 8)
分布式系统设计中的一个重要目标,是以这样的方式构建系统:它可以从部分失效中自动恢复,而且不会严重的影响整体性能。特别是,当故障发生时,分布式系统应该在进行恢复的同时继续以可接受的方式进行操作,也就是说,它应该能容忍错误,在发生错误时某种程度上可以继续操作。
第8章 分布式系统之容错 - 简书 (jianshu.com)
第八章 分布式容错管理 第二节