不懂分布式系统的核心问题:一致性与共识,还想入门区块链?挖矿?

本文探讨了分布式系统中的核心问题——一致性与共识,介绍了FLP不可能原理、CAP原理以及ACID原则。通过分析区块链的分布式特性,阐述了在面对网络分区时,如何在一致性与可用性之间做出权衡。同时,提到了如何获取Java开发的全套学习资料作为读者福利。
摘要由CSDN通过智能技术生成

对于要能容忍拜占庭错误的情况,一般包括PBFT(Practical Byzantine Fault Tolerance)为代表的确定性系列算法、PoW为代表的概率算法等。对于确定性算法,一旦达成了对某个结果的共识就不可逆转,即共识的是最终结果;而对于概率类算法,共识结果则是临时的,随着时间的推移或某种强化,共识结果被推翻的概率越来越小,成为事实上的最终结果。拜占庭类容错算法往往性能比较差,容忍不超过1/3的故障节点。

不懂分布式系统的核心问题:一致性与共识,还想入门区块链?

FLP不可能原理

========

FLP不可能原理:在网络可靠,但允许节点失效(即便只有一个)的最小化异步模型系统中,不存在一个可以解决一致性问题的确定性共识算法。

先说一下什么是“同步”“异步”,同步是指系统中的各个节点的时钟误差存在上限;并且消息传递必须在一定时间内完成;否则认为失败;同时各个节点完成处理消息的时间是一定的。同步系统很容易判断消息是否丢失。异步是指系统中的各个节点可能存在较大的时钟差异,同时消息传输时间是任意长的,各个节点对消息进行处理的时间也可能是任意长的,就无法判断收不到消息响应式节点故障还是传输故障。

FLP不可能原理是否意味着研究共识算法没有意义?这只是学术界研究的最极端情形。

科学告诉你什么是不可能的;工程则告诉你,付出一些代价,可以把它变成可行。

在付出一些代价的情况下,我们在共识的达成上,能做到多好?回答这个问题的一个很有名的原理:CAP原理。

CAP原理

=====

CAP原理:分布式计算系统不可能同时确保以下三个特性:

  • 一致性(consistency)

  • 可用性(availability)

  • 分区容忍性(pa

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值