您的位置:首页 > 其它

分布式系统理论之基础原理

2017-10-19 14:08 1066 查看
本文提到的一些概念包括一致性(consistency)、一致性系统模型(system model)、多数派(quorum)、全序关系(total order)等,在以下文章中有介绍 :)
《分布式系统理论基础 - 一致性、2PC和3PC》
《分布式系统理论基础 - 选举、多数派和租约》
《分布式系统理论基础 - 时间、时钟和事件顺序》
《分布式系统理论基础 - CAP》

成为我们熟知的CAP定理:
数据一致性(consistency):如果系统对一个写操作返回成功,那么之后的读请求都必须读到这个新数据;如果返回失败,那么所有读操作都不能读到这个数据,对调用者而言数据具有强一致性(strong
consistency) (又叫原子性 atomic、线性一致性 linearizable consistency)[5]

服务可用性(availability):所有读写请求在一定时间内得到响应,可终止、不会一直等待

分区容错性(partition-tolerance):在网络分区的情况下,被分隔的节点仍能正常对外服务

http://www.cnblogs.com/bangerlee/p/5328888.html

分布式系统理论进阶 - Paxos

http://www.cnblogs.com/bangerlee/p/5655754.html

分布式系统理论进阶 - Raft、Zab

http://www.cnblogs.com/bangerlee/p/5991417.html

狭义的分布式系统指由网络连接的计算机系统,每个节点独立地承担计算或存储任务,节点间通过网络协同工作

What is a distributed systeme. Distribution is in the eye of the beholder.
To the user sitting at the keyboard, his IBM personal computer is a nondistributed system.
To a flea crawling around on the circuit board, or to the engineer who designed it, it's very much a distributed system

一致性(consensus)
假设一个具有N个节点的分布式系统,当其满足以下条件时,我们说这个系统满足一致性:
全认同(agreement): 所有N个节点都认同一个结果

值合法(validity): 该结果必须由N个节点中的节点提出

可结束(termination): 决议过程在一定时间内结束,不会无休止地进行下去

我们把以上所列的问题称为系统模型(system model),讨论分布式系统理论和工程实践的时候,必先划定模型。例如有以下两种模型:
异步环境(asynchronous)下,节点宕机(fail-stop)

异步环境(asynchronous)下,节点宕机恢复(fail-recover)、网络分化(network partition)

一致性还具备两个属性,一个是强一致(safety),它要求所有节点状态一致、共进退;一个是可用(liveness),它要求分布式系统24*7无间断对外服务。FLP定理(FLP impossibility)[3][4] 已经证明在一个收窄的模型中(异步环境并只存在节点宕机),不能同时满足 safety 和 liveness。

2PC(tow phase commit)两阶段提交[5]顾名思义它分成两个阶段,先由一方进行提议(propose)并收集其他节点的反馈(vote),再根据反馈决定提交(commit)或中止(abort)事务。我们将提议的节点称为协调者(coordinator),其他参与决议节点称为参与者(participants,
或cohorts):

http://www.cnblogs.com/bangerlee/p/5268485.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  系统 分布式