没有合适的资源?快使用搜索试试~ 我知道了~
说的简单明了他们说你是泛泛而谈,算法这东西是讲明白的吗?自己不动手光想听别人讲就能明白,还想深刻明白,天下哪有这种便宜事!好吧,我就泛泛而谈吧。 1. 分布式系统问题 多节点,提高了系统整体的负载能力;可以使用多个处理器,同步查询,提高查询性能;可以有更多节点复制数据,增强了失败情况下的恢复能力,提高了系统整体的可用性。但是,分布式处理增加了系统各个方面的复杂度,关键问题是解决如何通信问题。 (1)分布式系统的先天不足—CAP理论 2000年,Eric Brewer教授在ACM分布式计算年会上指出了著名的CAP理论:分布式系统不可能同时满足一致性(Consistency),可用性(Availa
资源推荐
资源详情
资源评论
泛泛而谈:白话分布式一致性与共识算法泛泛而谈:白话分布式一致性与共识算法
说的简单明了他们说你是泛泛而谈,算法这东西是讲明白的吗?自己不动手光想听别人讲就能明白,还想深刻明白,天下哪有
这种便宜事!好吧,我就泛泛而谈吧。
1. 分布式系统问题分布式系统问题
多节点,提高了系统整体的负载能力;可以使用多个处理器,同步查询,提高查询性能;可以有更多节点复制数据,增强了失
败情况下的恢复能力,提高了系统整体的可用性。但是,分布式处理增加了系统各个方面的复杂度,关键问题是解决如何通信
问题。
((1)分布式系统的先天不足)分布式系统的先天不足—CAP理论理论
2000年,Eric Brewer教授在ACM分布式计算年会上指出了著名的CAP理论:分布式系统不可能同时满足一致性
(Consistency),可用性(Availability)和分区容错性(Tolerance of network Partition) 这三个需求。
一致性 Consistency:系统在执行过某项操作后仍然处于一致的状态。在分布式系统中,更新操作执行成功后所有的用户都应
该读到最新的值,这样的系统被认为是具有强一致性的。 等同于所有节点访问同一份最新的数据副本。这个和数据库ACID的
一致性类似,但这里关注的是所有数据节点上的数据一致性和正确性,而数据库的ACID关注的是在一个事务内,对数据的一
些约束。
可用性 Availability:每一个操作总是能够在一定的时间内返回结果,这里需要注意的是“一定时间内”和“返回结果”。一定时间
指的是,在可以容忍的范围内返回结果,结果可以是成功或者失败。关注的是在某个结点的数据是否可用,可以认为某一个节
点的系统是否可用,通信故障除外。
分区容错性 Partition Tolerance:是否可以对数据进行分区。存在网络分区的情况下,仍然可以接受请求。
((2)最终一致性、)最终一致性、CAP理论、理论、BASE原则原则
最终一致性就是等会儿就一致了,早晚会一致的。使用最终一致性的关键就是想方设法让用户“等会儿”。办法是让用户知道
(对用户透明),这个方法有个学名叫“用户感知到的一致性”,意思就是让用户自己知道数据已经不一致了,你再忍会儿。
虽然分布式系统不符合ACID原则,但是我们符合NOACID原则。我们换个词,就叫BASE原则(基本可用性、软状态与最终一
致性)。BASE的含义就是指:设计可以通过牺牲一定的数据一致性和容错性来换取高性能的保持甚至提高。其实所有的分布
式系统都是牺牲C(一致性 Consistency )来换取P(分区容错性 Partition Tolerance ),而不是牺牲A(可用性 Availability
)。可用性是所有分布式系统共同追求的特性。
二、共识算法二、共识算法
((1)拜占庭将军问题)拜占庭将军问题
就是说,皇帝发出的命令,各地区的将军能不能行动一致,怎么避免出现不一致,甚至出现叛徒。行动听指挥,Leader说了
算。
避免分布式系统节点数据不一致,方法很简单,写操作由其中一个节点执行。这个Leader节点谁来做,这个Leader选举办
法,就是一致性算法或共识算法。
((2))工作量证明机制工作量证明机制(Proof of Work, POW)
手速快的,来做写节点Leader,谁手速快,比一比就知道了,就是POW算法。就是大家熟悉的挖矿,通过与或运算,计算出
一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起存储。
优点:完全去中心化,节点自由进出;缺点:目前Bitcoin已经吸引全球大部分的算力,其它再用Pow共识机制的区块链应用很
难获得相同的算力来保障自身的安全;挖矿造成大量的资源浪费;共识达成的周期较长,不适合商业应用。
((3)股权证明机制)股权证明机制(Proof of Stake, POS)
谁钱多谁来,根据每个节点所占代币的比例和时间,等比例的降低挖矿难度,从而加快找随机数的速度。
优点:在一定程度上缩短了共识达成的时间,对节点性能要求低,达成共识时间短,网络环境好的话可实现毫秒级;缺点:还
是需要挖矿,本质上没有解决商业应用的痛点。
((4)授权股权证明机制)授权股权证明机制(Delegate Proof of Stake, DPOS)
类似于公司董事会制度,选出一定数量的代表,来负责生产区块。这些代表是怎么被选出来的呢?是每一位持币人,根据手中
的持有的代币投票选出来的。每个股东可以将其投票权授予一名代表,获票数最多的前100名代表按既定时间表轮流产生区
块。
((5)实用拜占庭协议()实用拜占庭协议(PBFT))
PBFT是一种基于消息传递的一致性算法,算法经过三个阶段达成一致性,这些阶段可能因为失败而重复进行。该算法主要应
用在IBM超级账本等联盟区块链或私有区块链场景中,容错率低、灵活性差,超过超过1/3的节点作恶就会导致系统崩溃,并且不的节点作恶就会导致系统崩溃,并且不
可动态添加节点(这能算商用一致性算法吗?)可动态添加节点(这能算商用一致性算法吗?)。
资源评论
weixin_38659248
- 粉丝: 4
- 资源: 963
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Django和OpenCV的智能车视频处理系统.zip
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功