MyException - 我的异常网
当前位置:我的异常网» 综合 » 分布式系统引见(持续更新)

分布式系统引见(持续更新)

www.MyException.Cn  网友分享于:2013-02-20  浏览:2次
分布式系统介绍(持续更新)

 

 

 

 

分布式系统介绍


目 录

1      修改记录...1

2      概要...2

3      分布式计算...3


 

1   概要

本文主要对大规模分布式系统的发展进行梳理,以加深理解。


 

2   分布式计算

       随着计算机技术的发展和信息爆炸时代的来临,人们对数据计算的需求越来越高,特别是海量数据的科学计算。传统的单机收到计算速度、容量的限制已经无法满足需求。在“网络+计算机”的基本思想下,分布式计算应运而生。

2.1.1             分布式计算定义

      分布式系统由两台或两台以上机器组成的系统,具有物理上分布的物理资源和逻辑资源。这些资源高度自治和相互合作的工作。每台计算机都具有数据存储功能和数据处理能力。在分布式计算中,数据处理不是由单机完成而是由多台机器协作完成。比如一项工作P,由两部分组成    p1和p2。我们把p1放在机器A上完成,p2放在机器B上完成,这些就形成一个分布式计算。

2.1.2             主流分布式技术

        现在分布式计算问题基本可以采用google的三个技术解决,分别为:GFS,MapReduce,Bigtable,这三个技术被称为“google三驾马车”,google只公开了论文而未开源代码,开源界对此非常有兴趣,仿照这三篇论文实现了一系列软件,如:Hadoop、HBase、HDFS、Cassandra等。

       在google这些技术还未出现之前,企业界在设计大规模分布式系统时,采用的架构往往是database+sharding+cache。

        该架构解释如下:前端cache是为了提高响应速度,后端数据库则用于数据永久存储,防止数据丢失,而sharding是为了在多台机器间分摊负载。最前端由大块大块的cache组成,要保证至少99%(的访问数据落在cache中,这样可以保证用户访问速度,减少后端数据库的压力,此外,为了保证前端cache中数据与后端数据库中数据一致,需要有一个中间件异步更新(为啥异步?理由简单:同步代价太高。异步有缺定,如何弥补?)数据,这个有些人可能比较清楚,新浪有个开源软件叫memcachedb(整合了Berkeley DB和Memcached),正是完成此功能。另外,为了分摊负载压力和海量数据,会将数据经过分片后存放到不同节点上(称为“sharding”)。

      这种架构优点非常明显:简单,在数据量和用户量较小的时候完全可以胜任。但缺定早晚一天暴露出来,即:扩展性和容错性太差,维护成本非常高,尤其是数据量和用户量暴增之后,系统不能通过简单的增加机器解决问题。

而上述所有问题都可以用google引导的分布式计算策略解决大型的、分布式的、对大量数据的访问。

    参考文献:http://dongxicheng.org/search-engine/system-designing-in-finging-jobs/


文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有