b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

分布式系统原理介绍_分布式系统原理与范型_分布式系统原理 刘杰(2)

电脑杂谈  发布时间:2017-02-23 18:38:30  来源:网络整理

也即,在系统不同的机器之间会传递错误的消息,这种情况即为拜占庭问题。这与”网络分割、机器崩溃...”是不同的。比如Raft协议不能容忍拜占庭问题,但是能够 在非拜占庭错误情况下,有网络延迟、分区、丢包、冗余和乱序等错误情况出现时,都可以保证其操作的正确性。分布式系统原理 刘杰

4,租约,心跳包(heartbeat)

①租约

这里主要列举租约可以用来干什么?

a,进行故障检测。这类似于ZooKeeper中master 与 slaver 之间发送的心跳包的作用。在ZK中, master 和 slaver 之间通过交换心跳包来检测它们是否还存活。一个具体的例子参考:故障检测

b,维护缓存一致性维护缓存的一致性,第一种办法是轮询:每次读取数据时都先询问服务器数据是不是最新的,若不是,则先让服务器传输新数据,然后再读取该新数据。第二种方法是回调:由服务器记录有哪些客户端读取了数据,当服务器对数据做修改时先通知记录下来的这些客户端,上次读取过的数据已经失效。这二种方法都有一定的缺陷,参考:租约机制简介

因此,可以引入租约机制。在租约期限内,可以保证客户端缓存的数据是最新的。当租约过期后,客户端需要重新向服务器询问数据,重新续约。

租约的定义:租约就是在一定期限内给予持有者特定权力的 协议。每个租约都有一个期限,正是这个期限可以保证租约机制容忍机器失效和网络分割。

租约机制优化后台访问的一个例子:使用租约机制解决缓存数据更新的问题

5,副本协议

副本协议是控制副本读写行为的规则,使得副本满足可用性和一致性。

副本协议分为两类,①中心化的副本控制协议:由一个中心节点协调副本数据的更新,维护副本数据的一致性。这里重点介绍下常用的Primary-Secondary中心化副本控制协议:假设数据是以数据段(segment/partition)为单位分布在集群各台机器上的,每个数据段指定一个作为主副本,其余的数据段则为从副本,对该数据段的更新(读写)而言,由主副本来负责。比如,当多个Client同时需要更新某个数据段时,所有的更新操作都发送到该数据段所对应的主副本所在的机器上,由它来确定更新的顺序,负责协调一致性。

那么,Client如何找到主副本所在的机器呢???这需要一个元数据服务器,它专门用来记录主副本的位置及相关信息,记录集群个各个数据段的主副本的位置信息,副本分配情况……该元数据服务器应该相当于GFS中的Master。

注意:由于上面是假设数据不是以机器为单位分布在集群中,而是以数据段为单位分布在集群中,当某个数据段被指定为主副本时,该主副本也是按照以数据段为单位的数据分布方式分布到集群中的,即各个Primary副本的位置在集群中是随机分配的。

要将Primary副本所在的机器与Master机器区分开来:应该在GFS中,Primary副本所在的机器可能是某台Slaver机器,它用来存储各个数据块。而Master是用来存储元数据信息的。

②去中心化的副本控制协议:各个节点之间是平等的,通过协商方式来达成某些操作。分布式系统原理 刘杰

学习材料参考:《分布式系统原理介绍 刘杰》


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-34084-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    每日福利
    热点图片
    拼命载入中...