典型分布式系统分析: GFS】的更多相关文章

本文是典型分布式系统分析系列的第二篇,关注的是GFS,一个分布式文件存储系统.在前面介绍MapReduce的时候也提到,MapReduce的原始输入文件和最终输出都是存放在GFS上的,GFS保证了数据的可用性与可靠性,那么本文具体看看GFS是怎么做到的. GFS(Google File System)是Google研发的可伸缩.高可用.高可靠的分布式文件系统,提供了类似POSIX的API,按层级目录来组织文件.在网络上,有很多对该轮文的翻译和解读,尤其是经典论文翻译导读之<Google File…
在 <分布式学习最佳实践:从分布式系统的特征开始(附思维导图)>一文中,提到学习分布式系统的一个好方法是思考分布式系统要解决的问题,有哪些衡量标准,为了解决这些问题:提出了哪些理论.协议.算法,这些解决办法各自的优缺点.适用场景:然后再思考,不同的系统是如何解决同一个问题的,比如说数据分片,比如说元数据的高可用,到了工程实践这个层面是怎么解决的. 上面是从问题出发,寻找答案.而另一个方法,是从一个具体的系统出发,分析这个分布式系统是如何解决需要解决所有问题,如何根据实际情况对分布式特性进行权衡…
在 <分布式学习最佳实践:从分布式系统的特征开始(附思维导图)>一文中,提到学习分布式系统的一个好方法是思考分布式系统要解决的问题,有哪些衡量标准,为了解决这些问题:提出了哪些理论.协议.算法,这些解决办法各自的优缺点.适用场景:然后再思考,不同的系统是如何解决同一个问题的,比如说数据分片,比如说元数据的高可用,到了工程实践这个层面是怎么解决的. 上面是从问题出发,寻找答案.而另一个方法,是从一个具体的系统出发,分析这个分布式系统是如何解决需要解决所有问题,如何根据实际情况对分布式特性进行权衡…
本文是典型分布式系统分析的第三篇,分析的是Bigtable,一个结构化的分布式存储系统. Bigtable作为一个分布式存储系统,和其他分布式系统一样,需要保证可扩展.高可用与高性能.与此同时,Bigtable还有应用广泛的特点(wide applicability),既能满足对延时敏感的.面向终端用户的应用需求,又能hold住高吞吐需求的批处理程序. 不过,通读完整篇论文,会发现,Bigtable这个系统是建立在很多其他google的产品上的,如GFS.Chubby.GFS为Bigtable提…
本文是典型分布式系统分析系列的第四篇,主要介绍 Dynamo,一个在 Amazon 公司内部使用的去中心化的.高可用的分布式 key-value 存储系统. 在典型分布式系统分析系列的第一篇 MapReduce 中提出了本系列主要关心的问题: 系统在性能.可扩展性.可用性.一致性之间的衡量,特别是CAP 系统的水平扩展是如何实现的,是如何分片的 系统的元数据服务器的性能.可用性 系统的副本控制协议,是中心化还是去中心化 对于中心化副本控制协议,中心是如何选举的 系统还用到了哪些协议.理论.算法…
分布式文件系统 分布式文件系统:当数据集的大小超过一台独立物理计算机的存储能力时,就有必要对它进行分区(partition)并存储到若干台单独的计算机上.管理网络中夸多台计算机存储的文件系统.这种系统构架于网络之上,肯定会引入网络编程的复杂性,因此它比普通的磁盘文件系统更为复杂.      我们首先来简单的说明一下这个分布式,我们都知道现在要存储的数据量越来越大,但是一台电脑的存储能力是有限的,尽管我们可以通过提高某台电脑的存储能力来解决这个问题,但是这是无法根本解决这个问题,所以我们通过很多很…
1.前言 今天来谈谈分布式文件系统,侧重点是文件系统,分布式稍微带一下.然后聊下我用的FastDFS的例子. 2.从小需求开始 我的博客的编辑器用的是markdown,它内嵌了一个文件上传功能,不过后端文件管理要自己的写.最开始直接用SpringMVC接收上传文件,直接扔服务器新建的upload文件夹下.但问题很快就出现了,上传同名文件会冲突,顺手加个时间戳好像可以解决问题,但我总感觉重复文件最后只存一次才是最好的,但靠文件名是没法判断重复的,加上大小,类型也不够,查了不少资料,考虑到自己写没足…
1.分布式数据库特点   说到数据库,我们最熟悉的是类似于mysql这样的关系型数据库,称为RDBMS.关系型数据库作为一种数据存储和数据检索的关键技术,它支持SQL语言的结构化查询,但是它天生不是为大规模的数据设计的,面对海量数据很难实现横向的扩展.   另一方面,我们熟知的关系型数据库有很强的约束,要求事务必须满足ACID四大特性,即原子性.一致性.隔离性.持久性.扩展到分布式的相应理论上,由于分布式的特点,容易发生单点故障和部分失败等问题,很难严格满足这四大特性,分布式CAP理论也告诉我们…
Bigtable:一个分布式的结构化数据存储系统 摘要 Bigtable是一个管理结构化数据的分布式存储系统,它被设计用来处理海量数据:分布在数千台通用服务器上的PB级的数据.Google的很多项目将数据存储在Bigtable中,包括Web索引.Google Earth.Google Finance.这些应用对Bigtable提出的要求差异非常大,无论是在数据规模(从URL到网页到卫星图像)还是在响应速度上(从后端的批量处理到实时数据服务).尽管应用需求差异很大,但是,针对所有Google这些产…
背景 银行跨行转账业务是一个典型分布式事务场景,假设 A 需要跨行转账给 B,那么就涉及两个银行的数据,无法通过一个数据库的本地事务保证转账的 ACID ,只能够通过分布式事务来解决. 市面上使用比较多的分布式事务框架,支持 SAGA 的,大部分都是 JAVA 为主的,没有提供 C# 的对接方式,或者是对接难度大,一定程度上让人望而却步. 这里推荐一下叶东富大佬的分布式事务框架 dtm,一款跨语言的开源分布式事务管理器,优雅的解决了幂等.空补偿.悬挂等分布式事务难题.提供了简单易用.高性能.易水…