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

    分布式系统概念与设计

  • 相关阅读:
    opencv for java via cmake-gui
    ubuntu的设置里少了好多设置
    vue组件化编程应用2
    vue组件化编程应用
    vue组件化编程
    es6基本介绍及使用
    webpack基本介绍及使用
    npm基本介绍及使用
    node基本介绍及使用
    前后端分离基本介绍
  • 原文地址:https://www.cnblogs.com/jslee/p/3422216.html
Copyright © 2011-2022 走看看