服务器集群系统通俗地讲就是把多台服务器通过快速通信链路连接起来,从外部看来,这些服务器就像一台服务器在工作,而对内来说,外面来的负载通过一定的机制动态地分配到这些节点机中去,从而达到超级服务器才有的高性能、高可用。
集群(Cluster)是由两台或多台节点机(服务器)构成的一种松散耦合的计算节点集合,为用户提
供网络服务或应用程序(包括数据库、Web服务和文件服务等)的单一客户视图,同时提供接近容错机的故
障恢复能力。集群系统一般通过两台或多台节点服务器系统通过相应的硬件及软件互连,每个群集节点都
是运行其自己进程的独立服务器。这些进程可以彼此通信,对网络客户机来说就像是形成了一个单一系统,协同起来向用户提供应用程序、系统资源和数据。除了作为单一系统提供服务,集群系统还具有恢复服务
器级故障的能力。集群系统还可通过在集群中继续增加服务器的方式,从内部增加服务器的处理能力,并
通过系统级的冗余提供固有的可靠性和可用性。
二、集群的分类:
1、高性能计算科学集群:
以解决复杂的科学计算问题为目的的IA集群系统。是并行计算的基础,它可以不使用专门的由十至
上万个独立处理器组成的并行超级计算机,而是采用通过高速连接来链接的一组1/2/4CPU的IA服务器,并且在公共消息传递层上进行通信以运行并行应用程序。这样的计算集群,其处理能力与真正超级并行
机相等,并且具有优良的性价比。
2、负载均衡集群:
负载均衡集群为企业需求提供更实用的系统。该系统使各节点的负载流量可以在服务器集群中尽可
能平均合理地分摊处理。该负载需要均衡计算的应用程序处理端口负载或网络流量负载。这样的系统非
常适合于运行同一组应用程序的大量用户。每个节点都可以处理一部分负载,并且可以在节点之间动态
分配负载,以实现平衡。对于网络流量也如此。通常,网络服务器应用程序接受了大量入网流量,无法
迅速处理,这就需要将流量发送给在其它节点。负载均衡算法还可以根据每个节点不同的可用资源或网
络的特殊环境来进行优化。
1)强扩展能力其他扩展技术,通常仅能支持儿十个CPU 的扩展,扩展能力有限。而采用集群技术的集群系统则可以扩展到包括成百上千个CPU的多台服务穗,扩展能力具有明显优势。集群服务还可不断进行调整,以满足不断增长的应用需求。当集群的整体负荷超过集群的实际能力时,还可以添加额外的节点。
2)实现方式容易
服务器集群技术相对其他扩展技术来说更加容易实现,主要是通过软件进行的。在硬件上可以把多台性能较低、价格便宜的服务器,通过集群服务集中连接在一起即可实现整个服务器系统成倍,甚至几十、几百倍地增长。无论是从软硬件构成成本上来看,还是从技术实现成本上来看都较其他扩展方式低。
3)高可用性
使用集群服务拥有整个集群系统资源的所有权。如磁盘驱动器和IP地址将自动地从有故障的服务器上转移到可用的服务器上。当集群中的系统或应用程序出现故障时,集群软件将在可用的服务器上,重启失效的应用程序,或将失效节点上的工作分配到剩余的节点上。在切换过程中,用户只是觉得服务暂时停顿了一下。
4)易管理性
可以使用集群管理器来管理集群系统的所有服务器资源和应用程序,就像它们都运行在同一个服务器上一样。可以通过拖放集群对象,在集群里的不同服务器间移动应用程序,也可以通过同样的方式移动数据,还可以通过这种方式来手工地平衡服务器负荷、卸载服务器,从而方便地进行维护。同时,还可以从网络的任意地方的节点和资源处,监视集群的状态。当失效的服务器连回来时,将自动返回工作状态,集群技术将自动在集群中平衡负荷,而不需要入工干预。你可以直接买一台负载均衡交换机啊,何必要浪费1台服务器呢。
2 应该是每台都会有一个IP地址 外网 访问连接到的那个IP地址 是你的负载均衡交换机的IP地址 他随机把你的访问请求分配到你的3台服务器上
3 无主从关系,负载均衡交换机它会没2秒左右向你的服务器发送一个健康检查,如果发现你的服务器出现问题,它会自动屏蔽你这台服务器
4 你问的重复问题。集群主要分成三大类 (高可用集群, 负载均衡集群,科学计算集群)
高可用集群( High Availability Cluster)
负载均衡集群(Load Balance Cluster)
科学计算集群(High Performance Computing Cluster)
1、高可用集群(High Availability Cluster)
常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如”双机热备”, “双机互备”, “双机”。高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。 (请注意高可用集群既不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度)。
2、负载均衡集群(Load Balance Cluster)
负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。
负载均衡集群一般用于相应网络请求的网页服务器,数据库服务器。这种集群可以在接到请求时,检查接受请求较少,不繁忙的服务器,并把请求转到这些服务器上。从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多。
3、科学计算集群(High Performance Computing Cluster)
高性能计算(High Perfermance Computing)集群,简称HPC集群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。
高性能计算分类:
31、高吞吐计算(High-throughput Computing)
有一类高性能计算,可以把它分成若干可以并行的子任务,而且各个子任务彼此间没有什么关联。象在家搜寻外星人( SETI@HOME – Search for Extraterrestrial Intelligence at Home )就是这一类型应用。
这一项目是利用Internet上的闲置的计算资源来搜寻外星人。SETI项目的服务器将一组数据和数据模式发给Internet上参加SETI的计算节点,计算节点在给定的数据上用给定的模式进行搜索,然后将搜索的结果发给服务器。服务器负责将从各个计算节点返回的数据汇集成完整的 数据。因为这种类型应用的一个共同特征是在海量数据上搜索某些模式,所以把这类计算称为高吞吐计算。
所谓的Internet计算都属于这一类。按照 Flynn的分类,高吞吐计算属于SIMD(Single Instruction/Multiple Data)的范畴。
32、分布计算(Distributed Computing)
另一类计算刚好和高吞吐计算相反,它们虽然可以给分成若干并行的子任务,但是子任务间联系很紧密,需要大量的数据交换。按照Flynn的分类,分布式的高性能计算属于MIMD(Multiple Instruction/Multiple Data)的范畴。
下面说说这几种集群的应用场景:
高可用集群这里不多作说明。
想Dubbo是比较偏向于负载均衡集群,用过的猿友应该知道(不知道的可以自行了解一下),Dubbo同一个服务是可以有多个提供者的,当一个消费者过来,它要消费那个提供者,这里是有负载均衡机制在里面的。
搜索引擎Elasticsearch比较偏向于科学计算集群的分布计算。
而到这里,可能不少猿友都知道,集群的一些术语:集群容错、负载均衡。
我们以Dubbo为例:
集群容错(>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)