简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。
例如:如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。
采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。
而采用集群方案,同样提供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 类集群....;分布式存储;其他类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)的范畴。
4. 分布式(集群)与集群的联系与区别
分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。
举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。
而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。
分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。
分享到:
相关推荐
分布式系统与并行计算是现代信息技术领域的核心研究方向,它们在处理大数据、提高计算效率以及实现高可用性方面发挥着重要作用。本文将对这两个主题进行深入探讨,特别关注Hadoop集群和MPI(Message Passing ...
总结而言,Java分布式开发与集群技术是一套完整的解决方案,从并发编程到网络通信,从对象序列化到集群高可用性设计,Java提供了一系列的工具和框架来支持分布式系统的开发和部署。在具体实践中,开发者需要根据应用...
分布式系统原理与范型是计算机科学中的一个重要领域,它涵盖了多台计算机如何通过网络协同工作,以实现一个共同的目标。《分布式系统原理与范型(第二版)》这本书深入浅出地介绍了这一主题,旨在帮助读者理解分布式...
### 探讨分布式系统之路 #### 分布式技术的核心价值:计算决定未来 在信息技术飞速发展的今天,分布式系统已成为解决大数据、高并发等问题的关键技术之一。本文将深入探讨分布式系统的演进路径及其背后的驱动力。 ...
6. **07security.pdf** - 可能探讨分布式系统的安全性问题,如认证、授权、加密以及网络安全策略,这些都是保障分布式系统安全的重要方面。 7. **05comm.pdf** - 可能涵盖分布式通信(Communication),如RPC(远程...
完整版"这本书中,作者深入探讨了构建高效、可靠且可扩展的分布式系统的关键技术和实践。 一、分布式系统基础 分布式系统的核心目标是透明性,即用户应能感知到系统是一个整体,而不会意识到其背后的分布式特性。这...
本文所探讨的分布式媒体集群处理中心,其设计基于分布式系统架构理念,能够支持大规模的视音频文件处理。通过构建播出节目文件备播系统,整个媒体处理流程可以分布在多个节点上,实现资源的有效整合和利用。 2. ...
"基于分布式高可用集群的网购系统优化" 本文主要讨论了基于分布式高可用集群的网购系统优化,旨在解决传统单机部署式网购系统无法承受高并发量的问题。通过对分布式计算技术、Nginx 负载均衡策略、Redis 缓存技术的...
这两个文件可能是教程的文字资料,涵盖了分布式系统的基础知识,如分布式系统的基本定义、发展历程、优点与挑战等。它们可能会讨论分布式系统如何提高可伸缩性、容错性和性能,以及在大数据处理、云计算和互联网...
在"大规模分布式系统架构与设计实战.完整版"这本书中,作者深入探讨了如何构建、管理和优化这些复杂的系统。 一、分布式系统基础 分布式系统由多个独立的计算机节点组成,它们通过网络通信,共同执行一个任务。...
本文将深入探讨分布式与集群的概念、特点、应用场景以及两者之间的差异和联系,以期帮助读者更好地理解并应用这两种架构模式。 首先,我们来解析集群的概念。集群是指将多台独立的计算机(即节点)互联,共同形成一...
随着计算机图形学技术的飞速发展,影视和动画行业对图像质量的要求越来越高,高清...文章不仅为相关行业提供了技术参考,还探讨了政府在推进创意产业基础设施建设中的作用,展现了分布式系统在现代影视制作中的重要性。
【E-DEEC】基于matlab增强的分布式能源有效集群(E-DEEC)是一个针对分布式能源系统的优化和控制策略的研究项目。这个项目利用Matlab作为主要的开发和仿真工具,旨在提高分布式能源系统的效率、可靠性和经济性。在...
#### 二、服务化架构与分布式系统的演变 **1. 大型网站架构的演变** 文章首章深入探讨了服务化架构的发展历程,以及它是如何随着业务需求和技术进步逐步演变为当前的分布式系统架构。作者通过自身多年的实践经验,...
本文将深入探讨如何在分布式环境中利用Quartz和Spring构建一个高可用的集群调度系统。 一、Quartz简介 Quartz是Java平台上的作业调度库,它可以被用来创建、调度和执行计划任务。Quartz的核心是Job和Trigger。Job...
分布式应用系统更新及实现方式,涉及了一系列与分布式系统更新机制相关的关键知识点。在理解和掌握这些知识的过程中,首先需要对分布式系统以及版本控制等基础概念有所了解。 分布式系统是指一组独立的计算机,它们...
Hadoop分布式集群搭建的...总结来说,Hadoop分布式集群的搭建是一个涉及到硬件环境、软件安装、网络配置、系统参数调优等多方面知识的综合过程。搭建完成后,应该进行充分的测试以确保集群的稳定性和性能表现符合预期。
在参考文献中提到的云计算环境下对Web数据挖掘技术的研究,以及对海量数据挖掘的优化方法探讨,都与MongoDB作为数据存储和处理的工具紧密相关。这些研究可能涉及如何在大规模数据集上有效地应用MongoDB,以及如何...
《Windows 2000 Server资源大全》第五卷聚焦于分布式系统,这是一部深入探讨Windows 2000 Server在企业级环境中构建和管理分布式计算环境的重要参考资料。分布式系统是现代企业网络的核心,它们允许不同地理位置、...