分布式系统中的一致性和重复性

想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】
链客,有问必答!

在这里插入图片描述
Tanenbaum将分布式系统定义为“分布式系统是一组独立的计算机,它们看起来像是一个用户的单一、连贯的系统”,在“分布式系统原理和范式”当中。

区块链,通过构建一个全球性的分布式系统,试图实现分散的新的数据存储和组织结构。

首先,面向分布式系统的原因主要是可扩展性、局部性和可用性。区块链也不例外。地理可扩展性,以形成用于信息保护的全局值存储网络/位置,包括非集中式结构/零停机时间的可用性下的防篡改。这些都是用分布式系统实现的。

1.引言(一致性概述和一致性原因)

在分布式系统中,数据主要是为了“可靠性”和“性能”而复制的。复制是必需的,特别是如果分布式系统需要在数量上和地理上增长。复制是缩放技术中的一种。此外,它还可以应对数据损坏和副本崩溃。

此时,需要保持数据和副本的状态的一致性。然而,这直接导致可扩展性问题。当你考虑一致性时,理想的情况是“保持所有副本处于完全相同的状态和操作”,即,实现了原子性,但这是一个相当大的挑战。

在现实中,我们不能解决可扩展性问题,除非我们放弃一些一致性约束。因此,有必要了解系统需要多少一致性,以及如何实现一致性的程度。

在本章中,副本之间的一致性将按以下顺序解释。

有什么样的一致性模型?

关于复制管理

-何时何地进行复制
-谁放置伺服器(客户端)?服务器?)

如何保证拷贝之间的一致性
特定一致性协议实例及实现

2.以数据为中心的一致性模型

传统上,主要从数据(数据存储)来讨论一致性。

在分布式系统中,每个进程都保存自己的本地副本。此时,包括每个本地副本的存储数据集合被称为分布式数据存储。
当进程从数据存储中读取时,它期望最后写入操作的结果作为数据返回。为了阐明哪一个是最后一个写,我们把序关系称为一致性。

如第1节所述,几乎不可能保持完全一致性。允许某种程度的不一致导致兼容性与性能,但它取决于你的应用程序,你可以容忍什么,你可以容忍多少。你应该根据应用程序、系统选择一个一致性级别。因此,有必要首先理解什么样的一致性存在。

顺序一致性是最流行和最重要的一致性模型。偶然一致性是其弱变量。

2–1.序列一致性

当满足以下条件时,数据存储顺序一致。

任何执行序列的结果是,所进程到数据存储区的读/写操作与以特定顺序特定顺序执行的结果相同,并且各个进程的操作按其进程所指定的顺序执行。

关键在于,当比较每个过程的操作时,它们处于完全相同的顺序。

在下面的图中,(a)顺序一致,但是(b)不是因为处理P3和处理P4中的读数顺序不同。具体而言,在P3中,P1将由处理P2的写入结果的值r(x)b改变为值r(x)a,但在P4中相反。

W(x)a表示写入数据“x”的值“a”,R(x)b表示从数据“x”读取值“b”。

2–2.偶然一致性

当满足以下条件时,数据存储是偶然一致的。

潜在因果关系的写入必须按所有进程以相同的顺序来观察。对于不同的机器,可以以不同的顺序观察并发写入。

换句话说,它减少了序列一致性的约束,并且没有因果关系的处理序列可以处于不同的顺序。

此时,每个操作取决于哪些操作(其中两个操作是否具有因果关系)非常重要,为此&#x

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值