课程主要内容 概述 企业计算 网格计算和云计算 P2P网络、CDN网络和物联网 社会计算 1986
课程主要内容 概述 企业计算 网格计算和云计算 P2P网络、CDN网络和物联网 社会计算
数据一致性理论 RCAP理论 其中字母“C”、“A”、“P”分别带表以下特征: ◆强一致性(Consistency)。系统在执行某项操作后仍然处于一致 状态。在分布式系统中,更新操作执行成功后所有用户都应该读取 到最新的值,这样的系统被认为具有强一致性。 ◆可用性(Availability)。每一个操作总是能够在一定的时间内返 回结果。 ◆分区容错性(Partition Tolerance)。分区容错性可以理解为系 统在存在网络分区的情况下仍然可以接受请求(满足一致性和可用 性)。 1986
CAP理论 其中字母“C”、“A”、“P”分别带表以下特征: 强一致性(Consistency)。系统在执行某项操作后仍然处于一致 状态。在分布式系统中,更新操作执行成功后所有用户都应该读取 到最新的值,这样的系统被认为具有强一致性。 可用性(Availability)。每一个操作总是能够在一定的时间内返 回结果。 分区容错性(Partition Tolerance)。分区容错性可以理解为系 统在存在网络分区的情况下仍然可以接受请求(满足一致性和可用 性)。 数据一致性理论
数据一致性理论 RCAP理论 ◆CAP理论是在分布式环境中设计和部署系统时需要考虑的三个重 要的系统需求。根据CAP理论,数据共享系统只能满足这三个特性 中的两个,而不能同时满足三个条件。因此系统必须在这三个特性 之间做出权衡。 Consistency ◆如何理解? CA CP Partition Availability AP Tolerance 1986
CAP理论 CAP理论是在分布式环境中设计和部署系统时需要考虑的三个重 要的系统需求。根据CAP理论,数据共享系统只能满足这三个特性 中的两个,而不能同时满足三个条件。因此系统必须在这三个特性 之间做出权衡。 如何理解? 数据一致性理论
数据一致性理论 RCAP理论 ◆在网络分区场景下,如发生网络故障,分区G1发送的数据消息不 能传达到另一分区G2,数据将处于不一致状态,不能满足一致性要 求。采用如阻塞、加锁、集中控制等技术来保证数据的一致性,但 同步操作必定要消耗一定时间,必然会影响到系统的可用性和分区 容错性,尤其在网络规模较大的时候。 序号 选择 特点 例子 1 C、A 两阶段提交、缓存验证协议 传统数据库 2 C、P 悲观加锁 分布式加锁 3 A、P 冲突处理、乐观 DNS /986
CAP理论 在网络分区场景下,如发生网络故障,分区G1发送的数据消息不 能传达到另一分区G2,数据将处于不一致状态,不能满足一致性要 求。采用如阻塞、加锁、集中控制等技术来保证数据的一致性,但 同步操作必定要消耗一定时间,必然会影响到系统的可用性和分区 容错性,尤其在网络规模较大的时候。 数据一致性理论 序号 选择 特点 例子 1 C、A 两阶段提交、缓存验证协议 传统数据库 2 C、P 悲观加锁 分布式加锁 3 A、P 冲突处理、乐观 DNS
数据一致性理论 RCAP理论 序号 选择 特点 例子 1 C、A 两阶段提交、缓存验证协议 传统数据库 2 C、P 悲观加锁 分布式加锁 3 A、P 冲突处理、乐观 DNS ◆放弃P:如果想避免分区容错性问题的发生,一种做法就是将数据 放到一台机器上。虽然无法100%地保证系统不会出错,但不会碰到 由分区带来的负面效果。当然,这个选择会严重影响系统的可扩展 性。 1986
CAP理论 放弃P:如果想避免分区容错性问题的发生,一种做法就是将数据 放到一台机器上。虽然无法100%地保证系统不会出错,但不会碰到 由分区带来的负面效果。当然,这个选择会严重影响系统的可扩展 性。 数据一致性理论 序号 选择 特点 例子 1 C、A 两阶段提交、缓存验证协议 传统数据库 2 C、P 悲观加锁 分布式加锁 3 A、P 冲突处理、乐观 DNS
数据一致性理论 RCAP理论 序号 选择 特点 例子 1 C、A 两阶段提交、缓存验证协议 传统数据库 2 C、P 悲观加锁 分布式加锁 3 A、P 冲突处理、乐观 DNS ◆放弃A:相对于放弃“分区容错性”,其方面就是放弃可用性。一 旦遇到分区容错故障,那么受到影响的服务需要等待数据一致,因 此等待期间系统无法对外提供服务。 1986
CAP理论 放弃A:相对于放弃“分区容错性”,其方面就是放弃可用性。一 旦遇到分区容错故障,那么受到影响的服务需要等待数据一致,因 此等待期间系统无法对外提供服务。 数据一致性理论 序号 选择 特点 例子 1 C、A 两阶段提交、缓存验证协议 传统数据库 2 C、P 悲观加锁 分布式加锁 3 A、P 冲突处理、乐观 DNS
数据一致性理论 RCAP理论 序号 选择 特点 例子 1 C、A 两阶段提交、缓存验证协议 传统数据库 2 C、P 悲观加锁 分布式加锁 3 A、P 冲突处理、乐观 DNS ◆放弃C:这里所说的放弃一致性,并是不完全放弃数据的一致性, 而是放弃数据的强一致性,而保留数据的最终一致性。以网络购物 为例,对只剩最后一件库存商品,如果同时接收了两份订单,较晚 的订单将被告知商品售罄。 1986
CAP理论 放弃C:这里所说的放弃一致性,并是不完全放弃数据的一致性, 而是放弃数据的强一致性,而保留数据的最终一致性。以网络购物 为例,对只剩最后一件库存商品,如果同时接收了两份订单,较晚 的订单将被告知商品售罄。 数据一致性理论 序号 选择 特点 例子 1 C、A 两阶段提交、缓存验证协议 传统数据库 2 C、P 悲观加锁 分布式加锁 3 A、P 冲突处理、乐观 DNS
数据一致性理论 ?最终一致性模型 ◆分布式系统一般通过复制数据来提高系统的可靠性和容错性,并 且将数据的不同副本存放在不同的机器上,由于维护数据副本一致 性代价很高,许多系统采用弱一致性来提高性能。不同的一致性模 型: +强一致性 ◆弱一致性 ◆最终一致性 1/986
最终一致性模型 分布式系统一般通过复制数据来提高系统的可靠性和容错性,并 且将数据的不同副本存放在不同的机器上,由于维护数据副本一致 性代价很高,许多系统采用弱一致性来提高性能。不同的一致性模 型: 强一致性 弱一致性 最终一致性 数据一致性理论
数据一致性理论 最终一致性模型 ◆强一致性:要求无论更新操作在哪个数据副本上执行,之后所有 的读操作都要获得最新的数据。对于单副本数据来说,读写操作在 同一数据上执行,容易保证强一致性。对于多副本数据来说,需要 使用分布式事物协议(如Paxos)。 ◆弱一致性:在这种一致性下,用户读到某一操作对系统特定数据 的更新需要一段时间。这段时间成为“不一致性窗口”。 1986
最终一致性模型 强一致性:要求无论更新操作在哪个数据副本上执行,之后所有 的读操作都要获得最新的数据。对于单副本数据来说,读写操作在 同一数据上执行,容易保证强一致性。对于多副本数据来说,需要 使用分布式事物协议(如Paxos)。 弱一致性:在这种一致性下,用户读到某一操作对系统特定数据 的更新需要一段时间。这段时间成为“不一致性窗口”。 数据一致性理论
数据一致性理论 ⑧最终一致性模型 ◆最终一致性:是弱一致性的一种特例,在这种一致性下系统保证 用户最终能够读取到某操作对系统特定数据的更新。 ◆此种情况下,“不一致性窗口”的大小依赖于交互延迟、系统负 载,以及复制技术中replical的个数(可以理解为master/slave模式 中,slavel的个数)。 ◆DNS系统是在最终一致性方面最出名的系统,当更新一个域名的 P以后,根据配置策略以及缓存控制策略的不同,最终所有客户都 会看见最新值。 /986
最终一致性模型 最终一致性:是弱一致性的一种特例,在这种一致性下系统保证 用户最终能够读取到某操作对系统特定数据的更新。 此种情况下,“不一致性窗口”的大小依赖于交互延迟、系统负 载,以及复制技术中replica的个数(可以理解为master/slave模式 中,slave的个数)。 DNS系统是在最终一致性方面最出名的系统,当更新一个域名的 IP以后,根据配置策略以及缓存控制策略的不同,最终所有客户都 会看见最新值。 数据一致性理论