分布式系统理论之基础原理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式系统理论之基础原理相关的知识,希望对你有一定的参考价值。
本文提到的一些概念包括一致性(consistency)、一致性系统模型(system model)、多数派(quorum)、全序关系(total order)等,在以下文章中有介绍 :)
成为我们熟知的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
本文出自 “运维自动化” 博客,请务必保留此出处http://shower.blog.51cto.com/4926872/1974210
以上是关于分布式系统理论之基础原理的主要内容,如果未能解决你的问题,请参考以下文章