分布式系统
文章平均质量分 95
山登绝顶我为峰 3(^v^)3
只有平凡理想的域(✪ω✪)
展开
-
分布式系统(事务处理)
三阶段提交协议(2PC:Two-Phrase Commit),通过引入 pre-commit 阶段,以及 timeout 策略,来减少整个集群的阻塞时间,提升系统性能。在恢复文件中最新的事务状态信息决定了故障时的事务状态,RM 需要根据 Server 是协调者或参与者以及状态的不同,进行事务恢复。事务的原子特性要求,分布式事务结束时,它的所有操作要么全部成功,要么全部取消。:并发事务交错执行各个操作,它的综合效果与按某种次序,一次只执行一个事务的。事务结束时,所有对象的实例变量也具有相同的值)。原创 2022-12-21 13:13:18 · 1197 阅读 · 0 评论 -
分布式系统(数据复制与一致性)
任意进程的执行结果都与 “如果数据存储上的所有进程的读写操作,按照某种顺序执行,并且在单个进程上的执行按照其指定顺序出现” 的结果一样。:一个进程对某数据项的读操作,同一个进程后续对这个数据项的写操作,保证覆盖了当时读取的值或者更新的值。的一致性模型:是(若干)进程和(单个分布式)数据存储之间的契约(contract),如果进程同意遵守某些规则,那么存储器就承诺正确工作。:一个进程读取到了某数据项的值,接下来的同一个进程对这个数据项的读操作,将会得到相同的值或者更新的值。在一个进程进入关于某同步变量的。原创 2022-12-19 14:47:05 · 1470 阅读 · 0 评论 -
分布式系统(P2P Lookup)
每个节点都按照距离大小,对世界树进行分块,成为一系列的连续的、不包含自己的子树。用户发查询请求 Q 给与其相连的服务器,该服务器收到请求后,与其他服务器协作处理查询消息 Q,回复用户一个表单,这个表单包含了所查到的所有匹配的文件索引。(Flooding) 策略:每个结点给它的每个邻居转发请求,这些邻居结点再依次把请求传递给它们的邻居,一直到找到匹配的文件为止。P2P系统的特点:结点自治性,控制分散性,高容错性,高可伸缩性,高可用性,负载平衡。(沿洪泛的反向路径回传消息) ,阻止不必要的重复广播。原创 2022-12-16 15:43:06 · 867 阅读 · 0 评论 -
分布式系统(故障、恢复)
(stable),如果离它最近的 checkpoint 以及它的 starting message 之间,所有的接收到的消息都已经完成了 logging。容易看出,进程 crash 之后 recover,加载最近的检查点,然后可以根据接收日志,重构这个稳定的状态区间。悲观的消息日志:接收到的消息,在被进程执行(processing)之前,首先保存(saving)到日志里。是一个生成树,且除了 root 以外的每个节点的 level,都等于它的父节点 level 加一。原创 2022-12-15 23:34:13 · 1869 阅读 · 0 评论 -
分布式系统(交互、协作)
分布式系统的基本模块是进程(每台计算机上一个进程)。由于进程的执行过程分为执行和 I/O,因此每个进程中创建多个线程可以掩盖一部分的 I/O 延迟。然而,线程的创建开销较高。可以采取线程池技术,节省创建开销,但带来了管理开销。线程的创建开销:主要是内存分配,时间开销记为 c1c_1c1线程池维护开销:主要是线程的上下文切换,时间开销为 c2c_2c2假设线程池大小为 nnn,实际系统中的并发数为 rrr(服从分布 f(r)f(r)f(r) 的随机数,p(r)p(r)p(r) 是其概率密度),那么:因此预原创 2022-12-15 15:10:45 · 1152 阅读 · 0 评论 -
分布式系统(概念、时间、状态)
分布式系统的每个进程使用各自的本地时间,它们的漂移率各不相同;:是利用分布在网络上的各种软、硬计算机资源进行信息处理的过程,它是通过基于网络的。逻辑时钟无法区分,是由于局部事件引起的时钟前进,还是由于消息交换引起的时钟前进。最后,这些记录下的状态,可以在各进程本地记录,也可以发送给某个指定进程来收集。最后,这些记录下的状态,可以在各进程本地记录,也可以发送给某个指定进程来收集。:它包含的每个事件,它也包含了所有在该事件之前发生的所有事件。路由算法的变种来组织的,构建以主服务器为根的最小权重的。原创 2022-12-14 12:24:24 · 793 阅读 · 0 评论 -
HotStuff:基于高效 BFT-SMR 共识的区块链
在分布式系统里,并发指令(不是并行)的顺序需要被各个处理器所共识。否则,并发指令顺序错乱会导致处理器状态不一致。区块链是一种分布式系统,最根本的就是共识机制,而挖矿功能一点儿也不重要。分布式系统的共识机制要满足如下两条要求:1. **安全性**(*Safety*),所有正确的进程都认同同一个值。2. **活性**(*Liveness*),分布式系统最终会认同某一个值。区块链的**共识机制**有很多,著名的有:工作量证明(PoW,竞争计算 Hash 碰撞)、权益证明(PoS,持币量和持币时长)、原创 2022-11-03 23:20:21 · 2363 阅读 · 0 评论 -
实用拜占庭协议(PBFT 99)
1999年,Liskov 等人提出了 **Practical byzantine fault tolerance**,利用了Hash函数、数字签名算法、消息验证码,它是第一个工作在**异步网络上的拜占庭容错协议**,且复杂度只有$O(n^2)$因为工作在存在恶意敌手的异步网络上,因此一个节点在一轮通信中可以有三种动作:1. 有响应,并且是正确的结果,它可能来自诚实节点,但也可能来自恶意节点。2. 无响应,可能是因为**网络延迟**和**节点故障**,也可能是敌手恶意延迟。3. 有响应,但是恶意节原创 2022-09-20 23:15:20 · 913 阅读 · 0 评论 -
拜占庭将军问题(Byzantine Generals Problem)
论文:Lamport L, Shostak R, Pease M. The Byzantine generals problem[M]//Concurrency: the works of leslie lamport. 2019: 203-226.原创 2022-08-23 16:30:17 · 1087 阅读 · 0 评论