当前位置: 首页 > 科技观察

分布式和集群的联系和区别_0

时间:2023-03-20 20:02:08 科技观察

先说说区别:一句话:分布式并行工作,集群串行工作。1:分布式是指不同的业务分布在不同的地方。集群是指将若干台服务器集合在一起,实现相同的业务。分布式系统中的每个节点都可以用作集群。而且集群不一定是分布式的。举个例子:比如新浪网,比如有很多访问者,他可以做一个集群,前面放一个响应服务器,后面几个服务器完成同一个业务,如果有业务访问,响应服务器会看哪个服务器负载不是很重,就给哪个完成。分布式,狭义上类似于集群,但是它的组织比较松散,不像集群,具有组织性。如果一台服务器崩溃,其他服务器可以接管。每个分布式节点完成不同的服务。如果一个节点宕机,服务将无法访问。2:简单来说,分布式就是通过缩短单个任务的执行时间来提高效率,而集群则是通过增加单位时间内执行的任务数来提高效率。例如:如果一个任务由10个子任务组成,每个子任务独立执行需要1个小时,那么在一台服务器上执行任务需要10个小时。采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务之间的依赖关系,完成这个任务只需要一个小时。(这种工作模式的典型代表是Hadoop的Map/Reduce分布式计算模型。)采用集群方案,同时提供10台服务器,每台服务器可以独立处理这个任务。假设10个任务同时到达,则10台服务器同时工作。1小时后,将同时完成10个任务。这样一来,1小时内完成一个任务!以下是一篇网络文章的节选:集群概念1.两个关键特性集群是一组服务实体,它们协同工作以提供比单个服务实体更具可扩展性和可用性的服务平台。从客户端的角度来看,集群看起来像是一个服务实体,但实际上集群是由一组服务实体组成的。与单个服务实体相比,集群提供了以下两个关键特性:·可扩展性——集群的性能不局限于单个服务实体,可以动态地向集群中添加新的服务实体,以增强集群的性能簇。·高可用性——集群通过服务实体冗余保护客户免受轻易遇到服务中断警告。在集群中,同一个服务可以由多个服务实体提供。如果一个服务实体发生故障,另一个服务实体将接管发生故障的服务实体。集群提供的从一个失败的服务实体恢复到另一个服务实体的能力增强了应用程序的可用性。2.两大能力集群要具备可扩展性和高可用性的特点,必须具备以下两大能力:负载均衡——负载均衡能够将任务以相对均衡的方式分配给集群环境中的计算和网络资源。·错误恢复——由于某种原因,执行任务的资源失败,然后在另一个服务实体中执行相同任务的资源完成任务。这种由于一个实体中的资源故障导致一个实体中的资源透明地继续完成任务的过程称为错误恢复。负载均衡和错误恢复都需要在每个服务实体中存在执行相同任务的资源,并且对于相同任务的每个资源,执行该任务所需的信息视图(信息上下文)必须相同。3、两大技术实现集群必须使用以下两大技术:·集群地址——集群由多个服务实体组成,集群客户端通过访问集群获取集群内各个服务实体的功能集群的地址。具有单一集群地址(也称为单一映像)是集群的基本特征。维护集群地址的设置称为负载平衡器。负载均衡器对内负责管理各个服务实体的加入和退出,对外负责将集群地址转换为内部服务实体的地址。一些负载均衡器实现真正的负载均衡算法,而其他负载均衡器只支持任务切换。只实现任务切换的负载均衡器适用于支持ACTIVE-STANDBY的集群环境,集群中只有一个服务实体工作,当工作的服务实体发生故障时,负载均衡器将后续任务转移到另一个服务实体。·内部通信——为了协同工作,实现负载均衡和错误恢复,集群中的实体必须频繁通信,例如负载均衡器之间通信服务实体的心跳测试信息和服务实体之间的任务执行上下文信息。具有相同的集群地址使得客户端可以访问集群提供的计算服务,并且每个服务实体的内部地址都隐藏在一个集群地址下,从而可以将客户需要的计算服务分布在各个服务实体中。内部通信是集群正常运行的基础,使集群具有负载均衡和错误恢复的能力。集群分类Linux集群主要分为三类(HighAvailabilityCluster,LoadBalanceCluster,ScientificComputingCluster)HighAvailabilityCluster(高可用性集群)LoadBalanceCluster(负载均衡集群)ScientificComputingCluster(高性能计算集群)====================================================具体包括:LinuxHighAvailability高可用集群(普通双机双机热备、多节点HA集群、RAC、shared、share-nothing集群等)LinuxLoadBalance负载均衡集群(LVS等)...)LinuxHighPerformanceComputing高性能科学计算集群(Beowulfclusters...)分布式存储其他类型的linux集群(如Openmosix,renderingfarm等..)详细介绍1.高可用性集群(HighAvailabilityCluster)是常见的2个节点组成的HA集群,有很多通俗不科学的名字,比如“双机高t待机”、“双机互备”、“双机”。高可用集群解决的是保证用户应用持续对外提供服务的能力。(请注意,高可用集群不是用来保护业务数据的,而是用来保护用户的业务程序对外提供不间断的服务,尽量减少软件/硬件/人为故障对业务的影响).2.负载均衡集群(LoadBalanceCluster)负载均衡系统:集群中的所有节点都是活跃的,它们分担系统的工作负载。一般Web服务器集群、数据库集群、应用服务器集群都属于这种类型。负载均衡集群一般用于网络请求对应的Web服务器和数据库服务器。这种集群可以在接收请求时检查那些接受请求少、不忙的服务器,将请求转发给这些服务器。从检查其他服务器的状态来看,负载均衡和容错集群非常接近,区别在于数量更多。3.科学计算集群(HighPerformanceComputingCluster)高性能计算(HighPerformanceComputing)集群,简称HPC集群。这类集群致力于提供单台计算机无法提供的强大计算能力。高性能计算分类  高吞吐量计算(High-throughputComputing)有一类高性能计算,可以分为若干个可以并行化的子任务,每个子任务之间没有关系。像在家搜索外星人(SETI@HOME——在家搜索外星智能)就是这类应用。这个项目是利用互联网上闲置的计算资源来搜索外星人。SETI项目的服务器向互联网上参与SETI的计算节点发送一组数据和数据模式。计算节点按照给定的模式搜索给定的数据,然后将搜索结果发送给服务器。服务器负责将各个计算节点返回的数据组装成完整的数据。这种类型的计算被称为高吞吐量计算,因为这种类型的应用程序的一个共同特征是在海量数据上搜索某些模式。所谓的因特网计算就属于这一类。按照Flynn的分类,高吞吐量计算属于SIMD(SingleInstruction/MultipleData)范畴。分布式计算(DistributedComputing)另一种类型的计算正好与高吞吐量计算相反。虽然它们可以分成几个并行的子任务,但是子任务之间是紧密相关的,需要大量的数据交换。按照Flynn的分类,分布式高性能计算属于MIMD(MultipleInstruction/MultipleData)范畴。4、分布式(集群)和集群的联系和区别。分布式是指将不同的服务分布在不同的地方。集群是指将若干台服务器集合在一起,实现相同的业务。分布式系统中的每个节点都可以用作集群。而且集群不一定是分布式的。举个例子:比如新浪网,比如有很多访问者,他可以做一个集群,前面放一个响应服务器,后面几个服务器完成同一个业务,如果有业务访问,响应服务器会看哪个服务器负载不是很重,就给哪个完成。分布式,狭义上类似于集群,但是它的组织比较松散,不像集群,具有组织性。如果一台服务器崩溃,其他服务器可以接管。每个分布式节点完成不同的服务。如果一个节点宕机,服务将无法访问。原文链接:http://blog.chinaunix.net/uid-7374279-id-4413214.html