分布式理解
2013-11-13 21:25
169 查看
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
分布式系统概念与设计
相关文章推荐
- 分布式理论之一:Paxos算法的通俗理解
- 深入理解dubbo:dubbo分布式+拓展:把web和service不仅分开为不同的项目,还分开到两台机器上。
- 微服务分布式集群概念理解
- 理解Memcached的分布式
- 分布式集群系统个人理解#Olivia丶长歌#
- 技术文章 | 分布式缓存技术redis学习系列----深入理解Spring Redis的使用
- 何谓分布式服务器,怎么理解分布式服务框架?
- 深入理解java分布式
- REST架构风格的理解(分布式应用系统的架构演变)
- 分布式理论之一:Paxos算法的通俗理解
- 菜鸟教你如何通俗理解——>集群、负载均衡、分布式
- 分布式事务简单理解
- 分布式、集群、微服务的理解
- IBM WAS ND 分布式网络环境的理解与集群的实现
- 深入理解分布式事务,高并发下分布式事务的解决方案
- 我所理解的分布式调度
- 关于twitter分布式主键自增id的理解
- [转载] 快速理解Kafka分布式消息队列框架