第六章分布式系统.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章分布式系统

第六章 复制和一致性 介绍 以数据为中心的一致性模型 分布式协议 一致性协议 介绍 复制的原因 对象复制 作为伸缩技术的复制 为什么 在分布式系统中 需要复制? 3 2018-4-24 Reasons of Replication 复制的原因 可靠性Reliability 性能Performance Example 从远程Web服务器获取一个网页 Problems 有多个副本会导致一致性问题 4 2018-4-24 Object Replication 考虑一个分布式远程对象被多个客户端共享 5 2018-4-24 Problems 1 如何保护对象不被多个客户端同时访问 Solution 对象本身可以控制并发的激活操作 对象所在的服务器负责并发控制 6 2018-4-24 Problems 2 复制一个共享的远程对象,并允许对这些对象进行并发引用会导致一致性问题 Approach 对象本身负责保证其所有的副本都保持一致性 分布式系统负责这个任务 7 2018-4-24 作为伸缩技术一种的复制 理论上使用多个副本可以支持伸缩技术 Problems 保证所有副本的一致性会需要更多的带宽 保证多个副本一致会导致严重的伸缩性问题 Solution 一个修改作为一个原子操作或者事务执行在所有的副本上 放松对一致性的限制 8 2018-4-24 因此我们要研究一下 一致性模型 以数据为中心的 一致性模型 严格一致性 顺序一致性 线性化 弱一致性 基本的一致性模型都是什么样子的 10 2018-4-24 Distributed Data Store(数据存储) 一个数据存储(data store)物理上在多个机器上分布。每个要访问data store中数据的进程都要有一个整个数据存储的本地(临近)的副本 Data operation Write operation Read operation 11 2018-4-24 一致性模型Consistency Model 一致性模型是进程和数据存储之间的一个合同(contract) 如果所有的进程同意遵守特定的规则,数据存储保证正确地工作 当一个进程执行了一个读操作,它将返回数据上的最后一个写操作的结果 Problem 当没有一个全局时钟,很难精确定义哪个写操作是最后一个写操作 12 2018-4-24 Strict Consistency(严格一致性) 任何在数据项目x上的读操作都能返回对数据项x上的最近一次写操作的结果 最严格的一致性模型 假设有一个绝对的全局时钟存在 在一个单处理器系统中,容易实现 在一个数据分布在多个机器上,并可以被多个进程访问的系统中,很难实现 13 2018-4-24 Problems and Solution Problems 依赖绝对的全局时间 Solution 把时间分割成为一个连续的不重合的间隔,每个操作都假设在一个时间间隔中发生,并接收到一个与此时间间隔相对应的时间戳 必须处理在同一个时间间隔中发生的多个操作 当多个操作在同样的数据上发生的时候,如果有一个操作是写操作,则存在冲突 一致性模型需要决定什么时候冲突发生,什么样的操作是可以接受的 14 2018-4-24 Examples of Strict Consistency Wi(x)a 表示进程Pi要在数据项x上执行写操作,新值为a Ri(x)b 表示进程Pi要读数据项x的值,返回值是b This is right This is wrong 15 2018-4-24 顺序一致性 (Sequential Consistency) 如果所有进程的读写操作的执行结果与这些操作都按照某种特定的顺序执行是一样的 每个特定进程中所有操作都按照程序中设定的次序一致 严格一致性在分布式系统中不能实现 相对弱一些的一致性模型 当多个进程并发地执行在不同的机器上,任何有效的读写操作的交叉是一个可以接受的行为,但是所有进程能够看到同样的操作顺序 16 2018-4-24 Sequential Consistency Example 17 2018-4-24 Linearizability(线性化) 当每个操作有时间戳,并且下面的条件满足,那么数据存储是线性化的: 时间戳基于松散同步的时钟 满足顺序一致性 除此之外, 如果 tsop1(x)tsop2(y), 那么操作 OP1(x) 应该在操作 OP2(y) 之前完成 比严格一致性弱,比顺序一致性强 tsop(x) 表示操作OP在数据项x上操作的时间戳 OP可以是read (R) 或者 write(W) 18 2018-4-24 区别 线性化 vs. 顺序一致性 线性化的数据存储也是顺序一致的 主要的区别在于线性化的顺序是基于一个同步时钟的集合 19 2018-4-24

文档评论(0)

yaocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档