分布式系统
文章平均质量分 79
CounterZZD
这个作者很懒,什么都没留下…
展开
-
PAXOS算法详解2
1.编号处理根据P2c ,proposer在提案前会先咨询acceptor查看其批准的最大的编号和value,再决定提交哪个value。之前我们一直强调更高编号的proposal,而没有说明低编号的proposal该怎么处理。|--------低编号(LN)--------|P2c 的正确性是由当前编号N而产生了一些更高编号H来保证的,更低编号L在之前某个时刻,可能也是符合转载 2014-02-11 11:31:40 · 827 阅读 · 0 评论 -
PAXOS算法3
前两篇Paxos算法的讨论,让我们对paxos算法的理论形成过程有了大概的了解,但距离其成为一个可执行的算法程序还有很长的路要走,原因是很多的细节和错误未被考虑。Google Chubby的作者说,paxos算法实现起来远没有看起来简单,原因是paxos的容错仅限于server crash这一种情况,但在实际工程实现时要考虑磁盘损坏、文件损坏、Leader身份丢失等诸多的错误。 1转载 2014-02-11 11:46:46 · 744 阅读 · 0 评论 -
分布式系统的事务处理-- 一致性
当我们在生产线上用一台服务器来提供数据服务的时候,我会遇到如下的两个问题:1)一台服务器的性能不足以提供足够的能力服务于所有的网络请求。2)我们总是害怕我们的这台服务器停机,造成服务不可用或是数据丢失。于是我们不得不对我们的服务器进行扩展,加入更多的机器来分担性能上的问题,以及来解决单点故障问题。 通常,我们会通过两种手段来扩展我们的数据服务:1)数据分区:就是把数转载 2014-02-10 15:53:12 · 2254 阅读 · 0 评论 -
详解PAXOS算法1
Paxos算法的难理解与算法的知名度一样令人敬仰,从我个人的经历而言,难理解的原因并不是该算法高深到大家智商不够,而在于Lamport在表达该算法时过于晦涩且缺乏一个完整的应用场景。如果大师能换种思路表达该算法,大家可能会更容易接受:首先提出算法适用的场景,给出一个多数读者能理解的案例其次描述Paxos算法如何解决这个问题再次给出算法的起源(就是那些希腊城邦的比喻和算法过程)Lam转载 2014-02-11 11:22:14 · 795 阅读 · 0 评论 -
Dynamo和Cassandra中用到的Merkle tree
Merkle Tree是Dynamo论文中用到的一个算法,读这篇论文前,我并不知道这个算法,所以找了相关资料了解了解,以便我对论文有更进一步的了解。 什么是Merkle Tree Merkle Tree,是一种树(数据结构中所说的树),网上大都称为Merkle Hash Tree,这是因为 它所构造的Merkle Tree的所有节点都是Hash值。Merkle Tree具有转载 2014-03-13 14:28:14 · 1194 阅读 · 0 评论 -
MapReduce中的shuffle&sort
MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据。第一个提出该技术框架的是Google 公司,而Google 的灵感则来自于函数式编程语言,如LISP,Scheme,ML 等。 MapReduce 框架的核心步骤主要分两部分:Map 和Reduce。当你向MapReduce 框架提交一个计算作业时,它会首先把计算作业拆分成若干个Map 任务,转载 2014-07-25 19:47:09 · 697 阅读 · 0 评论