云计算-服务器集群技术的分类

集群技术主要分成三大类( 高可用集群, 负载均衡集群,科学计算集群)
高可用集群
1.高可用的概念
高可用集群的英文全称是High Availability,简称HA cluster。高可用的含义是限度地可以使用。从集群的名字上可以看出,此类集群实现的功能是保障用户的应用程序持久、不间断地提供服务。
当应用程序出现故障,或者系统硬件、网络出现故障时,应用可以自动、快速地从一个节点切换到另一个节点,从而保证应用持续、不间断地对外提供服务,这是高可用集群实现的功能。
2.常见的HA Cluster
常说的双机热备、双机互备等都属于高可用集群的范畴,这类集群一般都由两个或两个以上节点组成。典型的双机热备结构如图15-1所示。
云计算-服务器集群技术的分类_第1张图片
双机热备是最简单的应用模式,即经常说的active/standby方式。它使用两台服务器,一台作为主服务器,运行应用程序对外提供服务;另一台作为备机,安装和主服务器一样的应用程序,但是并不启动服务,处于待机状态。主机和备机之间通过心跳技术互相检查,监控的资源可以是网络、操作系统,也可以是服务,用户可以根据自己的需要,选择需要监控的资源。当备份监控到主机的某个资源出现故障时,根据预先设定好的策略,首先将IP切换过来,然后将应用程序服务也接过过来,接着由备机对外提供服务。切换过程时间非常短,用户根本感觉不到程序出了问题,而且还进行了切换,从而保障了应用程序持久、不间断地服务。
双击互备是在双机热备的基础上,两个相互独立的应用在两个机器上同时运行,互为主备,即两台服务器是主机也是备机。当任何一个应用出现故障,另一台服务器都能在短时间内将故障机器的应用接过过来,从而保障了服务的持续、无间断运行。双机互备的好处是节省了设备资源,两个应用的双机热备至少需要4台服务器,而双机互备仅需要两台服务器即可完成高可用集群功能。但双机互备也有自身的缺点:在某个节点故障切换后,另一个节点上同时运行了两个应用的服务,有可能出现负载过大的情况。多机互备是双机热备的技术升级,通过多台及其组成一个集群,可以在多台机器之间设置灵活地接管策略。
注意
高可用集群不能保证应用程序数据的安全性,他仅仅解决的是对外提供持久不间断的服务,把因软件、硬件、网络和人为因素造成的故障而对应用造成的影响降低到程序。
3.高可用集群软件
高可用集群一般是通过高可用软件来实现的。在Linux下常用的高可用软件有HearbeatHA,Red Hat提供的RHCS,商业软件ROSE,keepalived等。
负载均衡集群
负载均衡集群也是由两台或者两台以上的服务器组成。分为前端负载调度和后端服务两个部分。负载调度部分负载把客户端的请求按照不同的策略分配给后端服务节点,而后端节点是真正提供营养程序服务的部分。与HA Cluster不同的是,负载均衡集群中,所有的后端节点都处于活动动态,它们都对外提供服务,分摊系统的工作负载。
负载均衡集群可以把一个高负荷的应用分散到多个节点共同完成,适用于业务繁忙、大负荷访问的应用系统。但是它也有不足的地方;当一个节点出现故障时,前端调度系统并不知道此节点已经不能提供服务,仍然会把客户端的请求调度到故障节点上来,这样访问会失败。为了解决这个问题,负载调度系统一般都引入了节点监控系统。
节点监控系统位于前端负载调度机上,负责监控下面的服务节点。当某个节点出现故障后,节点监控系统会自动将故障节点从集群中剔除;当此节点恢复正常后,节点监控系统又会自动将其加入集群中,而这一切,对用户来说是完全透明的。图15-2显示负载均衡集群的基本结构。
云计算-服务器集群技术的分类_第2张图片
负载均衡集群可以通过软件方式实现,也可以由硬件设备来完成。
科学计算集群
高性能计算集群,简称HPC集群。这类集群致力于提供单个计算机所不能提供的强大计算能力,包括数值计算和数据处理,并且倾向于追求综合性能。HPG与超级计算类似,但是又有不同,计算速度是超级计算追求的目标。的速度、的存储、最庞大的体积、最昂贵的价格代表了超级计算的特点。随着人们对计算速度需求的提高,超级计算也应用到各个领域,对超级计算追求单一计算速度指标转变为追求高性能的综合指标,即高性能计算。
HPC的应用领域非常广泛,典型应用有成么科学研究、基因测试对比、数据挖掘应用、石油和天然气勘探、图像呈现等。

负载均衡和高可用性的侧重点不同。负载均衡不一定意味着高可用性。

假设我们在机房里建起了一个访问量很高的网站,然后我们用一个负载均衡器,三台完全相同的Tomcat服务器,实现了负载均衡,所有流量都会被按某种算法分配给三台服务器。

那么,这个系统是高可用的吗?并不一定。如果只考虑Tomcat服务器的话,我们使用了三台服务器,比只用一台服务器的确既增加了负载平衡又增加了可用性。但是,从整个系统的角度来看,增加服务器的数量,只能算提高系统可用性的一个方面。

高可用性意味着高MTBF(平均故障间隔)和低故障恢复时间,也就是系统连续长时间运行,且能从当机状态快速恢复运行的能力。很明显,上述系统没达到这两个条件。
首先,它有多个单点故障点:
一个负载均衡器,一套网络设备、供电设备,等(软件方面)。
这注定使系统MTBF受到极大制约。

提高MTBF的方法很直观:备份。为了消除第二个单点故障,备份组件还需要处于不同地理位置。这样的话,就算一个位置断网、停电,其他位置的系统都能继续运行。如果再考虑到地震、洪水等自然灾害和其他因素,备份组件甚至需要处于不同城市、不同国家。

其次,虽然有了备份,系统还是有当机的可能性,所以我们还需要考虑系统当机之后快速恢复系统功能,也就是缩短故障恢复时间。这需要缩短故障反应时间并合理保存系统状态等,不再详述。

所以,负载均衡只能提高部分系统可用性(以服务器热备的形式),为了提高系统的可用性,我们还需要综合考虑其他因素。

转 http://server.zzidc.com/fwqjs/322.html

你可能感兴趣的:(软件架构)