集群的概念及分类

集群的概念及分类

一、集群的概念

1.scale on:向上扩展 
将服务器的内存容量调大和cpu数量增加些(简单说升级服务器硬件) 
缺点:在一定的范围之内它的性能是上升的趋势,但是超出范围之后就是下降的趋势。因为随着它的cpu的个数增加我们需要给我们的cpu仲裁,而且随着cpu个数的增加资源竞争性越大。

2.scale out:向外扩展 
一台服务器应付不过来,我们就再增加一台服务器。 
优点:增减服务器很方便,而且没有向上扩展随着增加性能下降。 
向外扩张的工作模式:当客户端向服务器端发送请求,服务器端只拿出来一台服务器来相应我们的客户端的请求。

 

1.集群的两大特性

简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源,这些单个的计算机系统就是集群的节点(node)。一个理想的集群是,用户从来不会意识到集群系统底层的节点,在他们看来,集群是一个系统,而非多个计算机系统;并且集群系统的管理员可以随意的增加和删改集群系统的节点。与单一服务实体相比较,集群提供了以下两个关键的特性。

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

(二)   高可用性。集群通过服务实体冗余使客户端免于轻易遭遇到“out of service”警告。当一台节点服务器发生故障的时候,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管。消除单点故障对于增强数据可用性、可达性和可靠性是非常重要的。

 

2.两大能力

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

(一)   负载均衡。负载均衡能把任务比较均匀的分布到集群环境下的计算和网络资源,以便提高数据吞吐量。

(二)   错误恢复。如果集群中的某一台服务器由于故障或者维护需要而无法使用,资源和应用程序将转移到可用的集群节点上。这种由于某个节点中的资源不能工作,另一个可用节点中的资源能够透明的接管并继续完成任务的过程叫做错误恢复。

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

 

3.两大技术

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

l  集群地址

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

l  内部通信

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

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

 

二、集群分类

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

高可用集群( High Availability Cluster)

负载均衡集群(Load Balance Cluster)

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

================================================

具体包括:

 

ALinux High Availability 高可用集群                                      

(普通两节点双机热备,多节点HA集群,RAC, shared, share-nothing集群等)

BLinux Load Balance 负载均衡集群                                     

 (LVS....)

CLinux High Performance Computing 高性能科学计算集群    

 (Beowulf 类集群....)

(1)分布式存储                                                                        

(2)其他类linux集群             

(Openmosix, rendering farm ..)

 

三、详细介绍

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

高可用集群是服务的可用性比较高,当我们某台服务器死机后不会造成我们的服务不可用。其工作模式则是将一个具有故障的服务转交给一个正常工作的服务器,从而达到服务不会中断。一般来说我们集群中工作在前端(分发器)的服务器都会对我们的后端服务器做一个健康检查,如果发现我们服务器当机就不会对其在做转发。

衡量标准:可用性=在线时间/(在线时间+故障处理时间)

是以提升服务的始终在线能力为根本着眼点的

常见的就是两个节点做成的HA集群,它还有很多通俗的不科学的名称,比如“双机热备”、“双机互备”、“双机”。高可用集群保障用户应用程序持续对外提供服务的能力(注意高可用集群不是用来保护业务数据的,而是确保用户的业务程序对外不间断提供服务,把因软件、硬件、人为造成的故障对业务的影响降低到最小程度)。

2.负载均衡集群/负载均衡系统(Load Balance Cluster

负载均衡集群中有一个分发器或者叫调度器,我们将其称之为Director,它处在多台服务器的上面,分发器根据内部锁定义的规则或调度方式从下面的服务器群中选择一个以此来响应客户端发送的请求。

是以提高服务的并发处理能力为根本着眼点的

集群中所有的节点都处于活动状态,他们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。负载均衡集群一般用于相应网络请求的网页服务器和数据库服务器。这种集群可以在接到请求时,检查接受请求较少、不繁忙的服务器,并把请求转到这些服务器上。从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多。

3.科学计算集群(High Performance Computing Cluster/高性能计算(High Performance Computing)集群。

处理海量计算任务、复杂问题的集群 例如:hadoop

高性能的集群是当某一个任务量非常大的时候,我们做一个集群共同来完成这一个任务。这种处理方式我们称为并行处理集群,并行处理集群是将大任务划分为小任务,分别进行处理的机制。一般这样的集群用来科学研究与大数据运算等方面的工作。现在比较火的Hadoop就是使用的并行处理集群。

 

说明:三种集群之间的区别 
负载均衡着重在于提供服务并发处理能力的集群,高可用以提升服务在线的能力的集群。高性能着重用于处理一个海量任务。

 

高性能计算分类  

高吞吐计算(High-throughput Computing)

   

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

 

分布计算(Distributed Computing)

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

 

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

 

分布式是指将不同的业务分布在不同的地方。 

而集群指的是将几台服务器集中在一起,实现同一业务。 

分布式中的每一个节点,都可以做集群。 

而集群并不一定就是分布式的。 

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

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

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

分布式存储:把存储分散到多个节点上进行

 

原文地址:http://blog.sina.com.cn/s/blog_a94476040101cbyp.html


你可能感兴趣的:(集群,集群)