zoukankan      html  css  js  c++  java
  • 分布式理解

      1.分类

      狭义的分布是指,指多台PC在地理位置上分布在不同的地方。

      分布式操作系统:负责管理分布式处理系统资源和控制分布式程序运行。它和集中式操作系统的区别在于资源管理进程通信系统结构等方面。

      分布式文件系统具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。

      分布式计算:利用分布式系统解决来计算问题。在分布式计算里,一个问题被细化成多个任务,每个任务可以被一个或者多个计算机来完成。

      分布式程序设计语言:用于编写运行于分布式计算机系统上的分布式程序。一个分布式程序由若干个可以独立执行的程序模块组成,它们分布于一个分布式处理系统的多台计算机上被同时执行。它与集中式的程序设计语言相比有三个特点:分布性、通信性和稳健性

      分布式数据库:由分布在不同地方(地理位置上的分布)的多个数据库(称为站点)连接(基于计算机网络来连接)而成。利用分布式DBMS对各个站点统一管理,各个站点逻辑上统一起来。基于数据分布的透明性,仿佛在管理单个站点上的数据。其优点在于:容错,提高访问速度。

      2.特征及挑战

      特征:

      *并发:对共享资源的并发执行程序的协调(性能及死锁及缓存一致性)。

      *缺乏全局时钟:在程序需要协作时,他们需要时钟来统一的交换信息来协调他们的动作。

      *故障独立性:所有的计算机系统都可能出故障,系统设计者必须为可能的故障设计应对方案。

      挑战

      1)异构性

      计算机之间存在多样性和差别,比如网络,硬件,操作系统,编程语言,不同开发者。

      统一的网络协议,统一的应用编程接口解决了一些问题,但还有很多问题存在。

      中间件就是为了解决异构性而出现的,它是一个软件层,提供了一个编程抽象,同时屏蔽了底层网络、硬件、操作系统和编程语言的异构性。还为程序员提供了一致的计算模型。eg:RMI和CORBA。

      2)开放性

      是决定系统能否以不同的方式被扩展和重新实现的特征。取决于新的资源共享服务能被增加和供多种客户程序使用的程度。

      3)安全性

      机密性、完整性和可用性。

      主要防御,拒绝服务攻击和移动代码的攻击。

      4)可伸缩性

      如果资源数量和用户数量激增,系统仍能保持其有效性,那么该系统就称为可伸缩的。

      包括:控制物理资源的开销,控制性能损失,防止软件资源用尽,避免性能瓶颈。

      5)故障处理

      检测故障,掩盖故障,容错,故障恢复,冗余(冗余数据来实现容错等控制出错的机制)。

      6)并发性

      并发的操作必须在数据保持一致的基础上同步。

      7)透明性

      对用户和应用程序员屏蔽分布式系统的组件的分离性,使系统被认为是一个整体而不是组件的集合。

      8)服务质量

      影响客户和用户体验的服务质量是可靠性,安全性和性能

      每个关键性资源必须被需要QOS的应用保留,并且必须有一个提供保障的资源管理器。不能满足的资源保留请求将被拒绝

      3.hadoop

      Hadoop是一个能够对大量数据进行分布式处理的软件框架。    
      优点:
      ⒈高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。
      ⒉高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
      ⒊高效性。因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
      ⒋高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
      Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C++。
       
     
      文件的目录结构独立存储在一个主控服务器上,而具体文件数据,拆分成若干块,冗余的存放在不同的数据服务器上。存储目录结构的主控服务器,在GFS中称为Master,在HDFS中称为NameNode。
      每一个文件的具体数据,被切分成若干个数据块,冗余的存放在数据服务器。通常的配置,每一个数据块的大小为64M,在三个数据服务器上冗余存放。数据服务器是典型的四肢发达头脑简单的苦力,其主要的工作模式就是定期向主控服务器汇报其状况,然后等待并处理命令,更快更安全的存放好数据。
      

    参考:http://blog.csdn.net/cuidiwhere/article/details/7882244

    分布式系统概念与设计

  • 相关阅读:
    606. Construct String from Binary Tree
    696. Count Binary Substrings
    POJ 3255 Roadblocks (次短路)
    POJ 2823 Sliding Window (单调队列)
    POJ 1704 Georgia and Bob (博弈)
    UVa 1663 Purifying Machine (二分匹配)
    UVa 10801 Lift Hopping (Dijkstra)
    POJ 3281 Dining (网络流之最大流)
    UVa 11100 The Trip, 2007 (题意+贪心)
    UVaLive 4254 Processor (二分+优先队列)
  • 原文地址:https://www.cnblogs.com/jslee/p/3422216.html
Copyright © 2011-2022 走看看