- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式系统之一致性与复制
一致性协议:一致性模型的实际实现的工作原理。 两种一致性协议类型 基于主备份的协议 复制的写协议 区别在于是否具有主拷贝。 远程写协议 最简单的基于主备份的协议 原理 读和写操作都在远程主备份服务器上执行 数据实际上根本没有被复制,而且也不允许移动。 缺点? 基于主备份的远程写协议 主机备份协议 远程写协议的一种改进方式 原理 允许进程在本地可用副本上执行读操作 但必须向主拷贝上转发写操作 潜在性能问题:更新是阻塞的。因而启动更新的进程要等待很长时间。 也可以在主机备份协议中使用非阻塞的工作方式,只要主备份服务器更新了x的主拷贝,就返回确认消息。这种方式的主要问题是容错能力问题。 主机备份协议 本地写协议 本地写协议也有两种 第一种 每个数据项只有一个拷贝 进程要对其执行操作时,先将数据的唯一主拷贝传送到进程本地,再执行操作 这种完全迁移的方法的主要问题是它需要跟踪每个数据项的当前位置 第二种 在主机备份协议中,主拷贝允许在多个执行写操作的进程(服务器)之间迁移。 这种方法的主要优点是系列写操作可以在本地执行。 基于主备份的本地写协议 主机备份协议中移动主备份 2、复制的写协议 不同于基于主备份的协议,在复制的写协议中,写操作是在多个副本上执行的。 有两种复制的写协议 主动复制。每个副本有一个守护进程专门执行更新操作。更新由原始点开始,传播到所有副本。 基于法定数量的协议。使用一种推广的表决方法,当客户需要读或写某数据项时,必须向多个该数据项的副本服务器提出请求,并获得它们许可,方可执行。 第六章 一致性与复制 一、概述 复制目标 可靠性 性能 难题 数据的一致性 两种一致性模型 以数据为中心的一致性模型 以客户为中心的一致性模型 实现一致性的两个问题 数据更新的实际分发问题 保持副本一致性的问题 一致性模型 实质上是进程和数据存储之间的一个约定,进程只有遵守约定,数据存储才能正常运行 基本原则:正常情况下,一个进程执行对某项数据的读操作时,应该返回该数据项最近一次写操作的结果 在没有全局时钟的情况下,精确定义哪次写操作是最后一次写操作相当困难 基本目标:有效限制在一个数据项执行读操作所应该返回的值 二、以数据为中心的一致性模型 (a)不使用同步操作的一致性模型 (b)使用同步操作的一致性模型 一致性 描述 严格一致性 所有共享访问事件必须按绝对时间严格排序 线性一致性 所有进程看到的共享访问必须是同一顺序。访问则是按照全局时间戳排序。 顺序一致性 所有进程看到的共享访问必须是同一顺序。访问不是按时间戳排序。 因果一致性 所有进程以相同顺序看到的有因果关系的共享访问 FIFO 各进程按自己的队列方式对写操作排序,这个顺序对所有进程可见,但来自不同进程的对共享写操作的排序有可能不一样。 (a) 一致性 描述 弱一致性 至少执行一次同步后,共享数据才被认为是一致的。 释放一致性 退出临界区后,执行共享数据一致性操作 入口一致性 进入临界区时,执行属于该临界区的共享数据的一致性操作。 (b) 三、以客户为中心的一致性模型 1、最终一致性 在许多分布式系统的数据存储中 不会出现同时发生的更新操作 或者发生同时更新时,可以容易化解它们 大部分操作是读操作 提供一种很弱的一致性模型,称为最终一致性模型 例: DNS系统中,各域由各自机构管理,不会出现写-写冲突,只需处理读-写冲突。 在Web中,通常浏览器或者web代理在本地高速缓存保存一份已下载的页面,但有可能过时,然而这种不一致性对客户来说是可以接受的。 最终一致性 特点: 如果在一段很长的时间内没有更新操作,那么所有副本将逐渐成为一致的 这种形式的一致性就称为最终一致性 最终一致性实际上只要求更新操作被保证传播到所有副本上。 最终一致性在 客户总是访问同一个副本时,没有任何问题 如果客户访问不同的副本时,就会出现问题 移动用户访问分布式数据库的不同副本 2、以客户为中心的一致性 以客户为中心的一致性 有效解决最终一致性模型中客户对不同副本访问的问题 基本思想: 为单一的客户提供一致性保证,保证该客户对数据存储的访问一致 不保证不同客户并发访问的一致性 四种模型 单调读 单调写 写后读 读后写 单调读 定义:如果一个进程读取数据项x的值,那么它对x执行的任何后续读操作总是得到第一次读取的值或者更新的值。 保证进程不会读到比以前读的值更老的版本。 单调写 定义:一个进程对数据项x执行的写操作必须在它对x执行任何后续写操作之前完成。 单调写操作规定,对x的拷贝上执行写操作只有该拷贝已经完全通过了先前的所有写操作之后才能被进行,而这些先前执行的写操作可能发生在x的其他拷贝上。 例子:软件的更新,比如windows更新,杀毒软件的更新 写后读 定义:一个进程对数据项x的写操作的结果总是
文档评论(0)