`
sungyang
  • 浏览: 21192 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

分布式与集群

阅读更多

注:以下内容摘自:http://blog.chinaunix.net/uid-7374279-id-4413214.html

先说区别:
一句话:分布式是并联工作的,集群是串联工作的。
1:分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。 

分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。 
举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。 
而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。 
分布式的每一个节点,都完成不同的业务,一个节点垮了,这个业务就不可访问了。

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

例如:

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

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

而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,1小时后,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 类集群....)

分布式存储                                                                         
其他类linux集群              
(如Openmosix, rendering farm 等..)

详细介绍

1. 高可用集群(High Availability Cluster)
常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如"双机热备", "双机互备", "双机".

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

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

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

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

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

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

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

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

 

1
0
分享到:
评论
2 楼 niuyandong1988 2016-01-19  

集群的两大特性的第一个不是扩展性,应该是伸缩性。
扩展性和伸缩性是不同的,扩展性指的是在现有业务的基础上开发新业务。
1 楼 niuyandong1988 2016-01-19  

第一句话有问题啊,集群是并联吧,分布式是串联吧...

相关推荐

    分布式与集群的区别是什么?

    分布式开发的时代实际上早已悄悄地成为了时代的主流,吵得很热的云计算实际上只是包装在分布式之外的商业概念,很多开发者(包括我)都想加入研究云计算这个潮流,在google上通过“云计算”这个关键词来查询资料,查...

    Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程

    Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程 按照文档中的操作步骤,一步步操作就可以完全实现hadoop2.2.0版本的完全分布式集群搭建过程

    分布式媒体集群处理中心应用设计与研究.pdf

    分布式媒体集群处理中心应用设计与研究的知识点: 1. 分布式系统架构设计 本文所探讨的分布式媒体集群处理中心,其设计基于分布式系统架构理念,能够支持大规模的视音频文件处理。通过构建播出节目文件备播系统,...

    基于USTPF的分布式光伏集群有功控制策略研究.pdf

    1. 集群建模与分析:首先要对分布式光伏集群的并网结构进行建模,通过建模可以更好地理解各个光伏电站之间的相互作用以及对电网的影响。 2. 功率预测与分配:利用USTPF技术对各个光伏集群的超短期功率进行预测。...

    基于hadoop和hbase的分布式索引集群研究.pdf

    为了解决这一问题,研究人员提出了基于Hadoop和HBase的分布式索引集群方案。这一方案可以提高信息检索效率,并通过分布式计算框架对索引进行高效维护。 Hadoop是一个由Apache基金会开发的分布式系统基础架构,它由...

    java 分布式与集群的区别和联系

    Java分布式与集群是两种在大型系统中常见的架构模式,它们都是为了解决单台服务器无法满足高并发、大数据量或高可用性需求的问题。虽然两者经常被一起提及,但它们有着显著的区别和联系。 首先,分布式是将一个复杂...

    activemq分布式集群视频教程

    activemq分布式集群视频教程,activemq分布式集群视频教程,activemq分布式集群视频教程,activemq分布式集群视频教程,activemq分布式集群视频教程

    hadoop2.8.4完全分布式集群搭建

    本人搭建hadoop完全分布式集群时,写的文档,内有详细步骤,

    基于自动发电响应的分布式电源集群能量优化管理系统.pdf

    "分布式电源集群能量优化管理系统" 本文主要介绍了基于自动发电响应的分布式电源集群能量优化管理系统。该系统通过将分布式发电资源集成到电力市场中,以提供更加高效和灵活的电力供应,并确保整个电力系统在安全、...

    分布式电源集群控制与电力信息实时仿真研究.pdf

    综上所述,分布式电源集群控制与电力信息实时仿真是智能电网领域的关键研究领域,通过多代理一致性控制和实时仿真平台,可以有效地应对高渗透率分布式电源带来的挑战,推动电力系统的智能化发展。

    spark 分布式集群搭建

    ### Spark Standalone 分布式集群搭建详解 #### Spark Standalone 运行模式概述 Spark Standalone 是 Apache Spark 提供的一种自带的集群管理模式,主要用于管理 Spark 应用程序的执行环境。这种模式简单易用,适合...

    面向大数据的分布式并行集群存储技术研究.pdf

    与传统存储技术相比,分布式内存数据库技术不仅在读写速度上有显著提升,而且在数据的缓存、计算等方面进行了优化,其数据处理速度可高出传统数据库技术十几倍。 分布式并行集群存储技术的软件系统主要分为两大类:...

    架构高性价比的分布式计算机集群

    本文将基于提供的文件内容进行深入解析,探讨构建分布式计算机集群的关键技术与实践策略。 #### 分布式计算机集群概述 分布式计算机集群是由多台计算机通过网络连接而成的系统,旨在实现资源共享、负载均衡等功能...

    百度分布式redis集群平台开发与运维

    百度分布式redis集群平台开发与运维百度分布式redis集群平台开发与运维

    Java分布式开发与集群技术.pdf

    在阅读了提供的文件内容后,可以提炼出以下Java分布式开发与集群技术相关的知识点: 1. 分布式开发和集群技术的需求:文档提到了Web服务器和移动互联网软件对分布式开发和集群技术的需求,这表明随着互联网服务的...

    一种基于Kademlia的全分布式爬虫集群方法.pdf

    全分布式爬虫集群的实现,不仅要考虑节点间的通信机制,还需要关注任务的合理划分、节点的异常处理、节点的加入与退出管理以及系统的负载均衡。传统的分布式爬虫可能在面对海量节点时无法有效处理这些复杂情况,因此...

    区域分布式电源集群监控系统研究.pdf

    分布式电源集群监控系统的主要目的是利用现代化信息技术,实现对分布式电源的实时监控与管理,确保电网的稳定和可靠性。本文将围绕分布式电源集群监控系统的设计方案、控制策略、系统平台的展示与结果验证等方面进行...

    基于Zookeeper框架实现MySQL分布式数据库集群.pdf

    MySQL作为一种流行的开源关系型数据库管理系统,虽然提供了一个基于日志的同步模式,但在实际应用中,尤其是在分布式数据库集群环境中,还面临着诸多挑战和问题。数据一致性监控、主从切换、灾难恢复后加入集群以及...

Global site tag (gtag.js) - Google Analytics