分布式与集群的区别(转)

  简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。

  例如:

  如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。

  采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Reduce分布式计算模型)

  而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,10小后,10个任务同时完成,这样,整身来看,还是1小时内完成一个任务!

  以下是摘抄自网络文章:

  一、集群概念

  1. 两大关键特性

  集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但事实上集群由一组服务实体组成。与单一服务实体相比较,集群提供了以下两个关键特性:

  ·  可扩展性--集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。

  ·  高可用性--集群通过服务实体冗余使客户端免于轻易遇到out of service的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。集群提供的从一个出 错的服务实体恢复到另一个服务实体的功能增强了应用的可用性。

  2. 两大能力 

  为了具有可扩展性和高可用性特点,集群的必须具备以下两大能力:

  ·  负载均衡--负载均衡能把任务比较均衡地分布到集群环境下的计算和网络资源。

  ·  错误恢复--由于某种原因,执行某个任务的资源出现故障,另一服务实体中执行同一任务的资源接着完成任务。这种由于一个实体中的资源不能工作,另一个实体中的资源透明的继续完成任务的过程叫错误恢复。

  负载均衡和错误恢复都要求各服务实体中有执行同一任务的资源存在,而且对于同一任务的各个资源来说,执行任务所需的信息视图(信息上下文)必须是一样的。

  3. 两大技术

  实现集群务必要有以下两大技术:

  ·  集群地址--集群由多个服务实体组成,集群客户端通过访问集群的集群地址获取集群内部各服务实体的功能。具有单一集群地址(也叫单一影像)是集群的一个基本特征。维护集群地址的设置被称为负载均衡器。负载均衡器内部负责管理各个服务实体的加入和退出,外部负责集群地址向内部服务实体地址的转换。有的负载均衡器实现真正的负载均衡算法,有的只支持任务的转换。只实现任务转换的负载均衡器适用于支持ACTIVE-STANDBY的集群环境,在那里,集群中只有一个服务实体工作,当正在工作的服务实体发生故障时,负载均衡器把后来的任务转向另外一个服务实体。

  ·  内部通信--为了能协同工作、实现负载均衡和错误恢复,集群各实体间必须时常通信,比如负载均衡器对服务实体心跳测试信息、服务实体间任务执行上下文信息的通信。

  具有同一个集群地址使得客户端能访问集群提供的计算服务,一个集群地址下隐藏了各个服务实体的内部地址,使得客户要求的计算服务能在各个服务实体之间分布。内部通信是集群能正常运转的基础,它使得集群具有均衡负载和错误恢复的能力。

  二、集群分类

  Linux集群主要分成三大类(高可用集群, 负载均衡集群,科学计算集群)

  • 高可用集群(High Availability Cluster)
  • 负载均衡集群(Load Balance Cluster)
  • 科学计算集群(High Performance Computing Cluster)

  具体包括:

  Linux High Availability 高可用集群                                       
  (普通两节点双机热备,多节点HA集群,RAC, shared, share-nothing集群等)

  Linux Load Balance 负载均衡集群                                      
   (LVS等....)

  Linux High Performance Computing 高性能科学计算集群     
   (Beowulf 类集群....)

  三、详细介绍

  1. 高可用集群(High Availability Cluster)

  常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如"双机热备","双机互备","双机"。

  高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。 (请注意高可用集群既不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度)。

  2. 负载均衡集群(Load Balance Cluster)

  负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。

  负载均衡集群一般用于相应网络请求的网页服务器,数据库服务器。这种集群可以在接到请求时,检查接受请求较少,不繁忙的服务器,并把请求转到这些服务器上。从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多。

  3. 科学计算集群(High Performance Computing Cluster)

  高性能计算(High Perfermance Computing)集群,简称HPC集群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。

  3.1 高性能计算分类   

  3.1.1 高吞吐计算(High-throughput Computing)

  有一类高性能计算,可以把它分成若干可以并行的子任务,而且各个子任务彼此间没有什么关联。象在家搜寻外星人( [email protected] -- Search for Extraterrestrial Intelligence at Home )就是这一类型应用。这一项目是利用Internet上的闲置的计算资源来搜寻外星人。SETI项目的服务器将一组数据和数据模式发给Internet上参加SETI的计算节点,计算节点在给定的数据上用给定的模式进行搜索,然后将搜索的结果发给服务器。服务器负责将从各个计算节点返回的数据汇集成完整的 数据。因为这种类型应用的一个共同特征是在海量数据上搜索某些模式,所以把这类计算称为高吞吐计算。所谓的Internet计算都属于这一类。按照 Flynn的分类,高吞吐计算属于SIMD(Single Instruction/Multiple Data)的范畴。

  3.1.2 分布计算(Distributed Computing)

  另一类计算刚好和高吞吐计算相反,它们虽然可以给分成若干并行的子任务,但是子任务间联系很紧密,需要大量的数据交换。按照Flynn的分类,分布式的高性能计算属于MIMD(Multiple Instruction/Multiple Data)的范畴。

  四、分布式(集群)与集群的联系与区别

  分布式是指将不同的业务分布在不同的地方;而集群指的是将几台服务器集中在一起,实现同一业务。

  分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。

  举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。

  而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。

  分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。

http://kb.cnblogs.com/page/503317/

时间: 2024-10-27 13:01:56

分布式与集群的区别(转)的相关文章

[架构] 分布式和集群的区别

一次在群里面看到群友们在讨论这个的区别,看了他们发表的言论,觉得很有道理,很通俗易懂,就当做学习的笔记记录在这里:   用两个例子看清楚分布式和集群的区别: 例子1: 如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时. 采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时.(这种工作模式的一个典型代表就是Hadoop的Map/Reduce分布式计算模型) 而采用集群方案,同样提供10

分布式与集群的区别

转自:http://sctrack.360doc1.net/track/click/eyJ1c2VyX2lkIjogMzkwMjIsICJ0YXNrX2lkIjogIiIsICJlbWFpbF9pZCI6ICIxNDUyNzgzODgwNDI4XzM5MDIyXzI5NTM3XzE0OTkuc2MtMTBfMTBfMTI3XzUxLWluYm91bmQwJGN4emR5QHZpcC5xcS5jb20iLCAic2lnbiI6ICI2NjgyOTU1Zjg1YTZiZWNkZTNjMWNjYjlh

分布式与集群的区别通俗解释

(1)回答1: 集群是个物理形态,分布式是个工作方式.只要是一堆机器,就可以叫集群,他们是不是一起协作着干活,这个谁也不知道:一个程序或系统,只要运行在不同的机器上,就可以叫分布式,嗯,C/S架构也可以叫分布式.集群一般是物理集中.统一管理的,而分布式系统则不强调这一点.所以,集群可能运行着一个或多个分布式系统,也可能根本没有运行分布式系统:分布式系统可能运行在一个集群上,也可能运行在不属于一个集群的多台(2台也算多台)机器上. (2)回答2: 分布式是相对中心化而来,强调的是任务在多个物理隔离

分布式和集群的区别

在IDF05(Intel Developer Forum 2005)上,Intel首席执行官Craig Barrett就取消4GHz芯片计划一事,半开玩笑当众单膝下跪致歉,给广大软件开发者一个明显的信号,单纯依靠垂直提升硬件性能来提高系统性能的时代已结束,分布式开发的时代实际上早已悄悄地成为了时代的主流,吵得很热的云计算实际上只是包装在分布式之外的商业概念,很多开发者(包括我)都想加入研究云计算这个潮流,在google上通过"云计算"这个关键词来查询资料,查到的都是些概念性或商业性的宣

【转】分布式与集群的区别

简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率. 例如:如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时. 采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时. 而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务.假设有10个任务同时到达,10个服务器将同时工作,10小后,10个任务同时完成,这样,整身来看

分布式与集群

一直听说过分布式由于找工作需要所以学习,都知道有分布式集群(Hdoop).分布式存储(GFS,NFS).分布式数据库(Hbase,redis,memcaced).分布式系统.分布式软件等,今天开始后续的学习. 分布式就是分开了.分散了.比如数据处理(北京搞北京.天津搞天津),比如集群(一个人干一件事.发现不如一个人生十个八个然后每俩去干一件事情). 并行处理是利用多个功能部件或多个处理机同时工作来提高系统性能或可靠性的计算机系统,这种系统至少包含指令级或指令级以上的并行. 分布式处理则是将不同地

分布式和集群区别?什么是云计算平台?分布式的应用场景?

分布式是指将一个业务拆分不同的子业务,分布在不同的机器上执行,集群是指多台服务器集中在一起,实现同一业务,可以视为一台计算机,一个云计算平台,就是通过一套软件系统把分布式部署的资源集中调度使用.要应对大并发,要实现高可用,既需要分布式,也离不开集群. 分布式和集群区别? 分布式 分布式:是指将一个业务拆分不同的子业务,分布在不同的机器上执行. 常用的分布式就是在负载均衡服务器后加一堆web服务器,然后在上面搞一个缓存服务器来保存临时状态,后面共享一个数据库, 如图所示: 这种环境下真正进行分布式

分布式、集群、微服务的区别

出处:  分布式与集群的区别是什么? 下面就正经解释下三种结构的区别吧- 单机结构 我想大家最最最熟悉的就是单机结构,一个系统业务量很小的时候所有的代码都放在一个项目中就好了,然后这个项目部署在一台服务器上就好了.整个项目所有的服务都由这台服务器提供.这就是单机结构. 那么,单机结构有啥缺点呢?我想缺点是显而易见的,单机的处理能力毕竟是有限的,当你的业务增长到一定程度的时候,单机的硬件资源将无法满足你的业务需求.此时便出现了集群模式,往下接着看. 集群结构 集群模式在程序猿界有各种装逼解释,有的

基于外部ZooKeeper的GlusterFS作为分布式文件系统的完全分布式HBase集群安装指南

(WJW)基于外部ZooKeeper的GlusterFS作为分布式文件系统的完全分布式HBase集群安装指南 [X] 前提条件 服务器列表: 192.168.1.84 hbase84 #hbase-master 192.168.1.85 hbase85 #hbase-regionserver,zookeeper 192.168.1.86 hbase86 #hbase-regionserver,zookeeper 192.168.1.87 hbase87 #hbase-regionserver,z