软件架构杂谈(二) --- Cluster (HA)

浅谈软件架构() linux

cnyinlinux
nginx

以前发布过的博文,已经对C/SB/S做了讨论,本文将讨论的是集群—Cluster 算法

1. C/S 服务器

2. B/S 网络

3. Cluster (HA) 架构

4. Cloud 负载均衡

5. Distributed 分布式

6. APNS-like 性能

7. P2P 动画

 

集群的技术是近年来计算机应用大规模普及,以及性能要求逐渐提升的形势下提出来的。简而言之,集群就是一批独立计算机联合运做处理某一高要求任务的技术。其创建在网络互连的基础上,核心是节点间任务分配——调度算法。

集群有几个显著特色:

A.提升性能

B.下降成本

C.高扩展性

D.高可靠性

集群与分布式的功能仍是有区别的,关于分布式架构在别文讨论。

从应用场景和特性分为如下几种,本文将分别介绍各自特色。

1)双机热备(高可用HA

2)科学集群

3)负载均衡

一,双机热备,也被叫作高可用集群(HA)。这种方式也称为集群。它指的是具有一样功能且数据共享的多台机器之间构成相互备份的物理结构,每一时刻对外提供业务的机器只有1台,其余多台构成它的备份,若业务机出现故障,其余备份机立马接管任务,对外而言丝毫感觉不到业务主机的故障。这样维修人员能够立马修复故障机,修好后成为新的备份机。这样就构成了相互备份的小集团,极大提升了实时业务的可靠性。

这种结构要求各机器的业务数据是共享的,保证每一台备份机接管任务后可以延续以前的业务,保证数据的一致性。一般备份集团的机器数量为2台,因此称之为双机热备。其中的“热”字指的是在线切换,也就是说业务不停机,作到无缝切替。其中如何作到故障后当即切换呢?那就是心跳侦测技术。在热备的机器之间构建的有心跳线,实时侦测对方的状态,也称为死活监视。备份机一旦发现对方心跳中止,当即将本身切到激活模式提供服务。固然也存在主动切换,好比要升级软件时,无需重启,先将备份机更新,而后切换状态,而后在更新曾经的业务机,这样就实现了业务不间断升级。其中对外提供业务的机器咱们成为active,另外一台处于备份的成为stand-by。从下图中能够看到HA的工做原理。

心跳线能够有网线构成,相似于TCP链接健康监测。也能够由硬件层面单独设计接口,这样效率会更高,通常高可用集群服务器都采用专用心跳线的方式。

负载死活监视和角色切换模块通常也集成在系统层面,也就是由厂商直接提供套件。

其原理就是个网络程序,实时维护与对方的心跳感应。须要切换时直接通知应用程序实现角色切换(应用程序设计时也兼顾了两种角色)


二,科学集群。它是一种并行计算拓扑,为提升复杂算法的执行速率,将计算任务拆分为多个任务,分布在不一样机器上运算,而后整合各部分运算结构,构成总体运算任务。

以下图,数台图形工做站仪器完成动画效果渲染任务,构成了一个运算集群网络。


 

三,负载均衡集群。随着互联网逐渐统治生活的各个领域,用户量大幅攀升,对互联网服务的速度和质量提出了新的要求。好比搜索引擎,电商等门户网站,天天都有大量用户访问。在这个快节奏生活的时代,人们的耐性每每不高,若是用户在访问电商网站时迟迟刷新不了请求页面,用户将失去购买欲望,对于商家而言,大量用户流失必然是不可接受的结果。这就对电商平台提出了很高的要求,使其可以快速响应用户请求。负载均衡技术就是在这样的前提下产生的。

负载均衡集群,现在已经被普遍应用到各门户网站。从其名字可知,它就是一种将负载均匀分发到不一样业务主机的一种技术。拿搜索引擎来讲,好比某搜索引擎“易搜”,当你在想易搜主页请求某搜索任务时,只须要访问它的主页,www.esou.com,输入你的搜索请求就是了。全球不可胜数的用户请求都发给了esou的主机,它真的可以承担起那么多的搜索任务吗?答案是不能。

它又如何能作到响应那么多用户的请求呢?后台用到了集群技术。咱们对照着下图来作说明。你们在访问esou主机的时候,请求数据最早到达的是均衡器,它也是一台计算机。收到请求后它将请求发送给其中一台服务器,该服务器完成后将结果送回。用户与服务器之间多了一个主持任务的服务器,每次任务由它分配。这样就增强了处理任务的灵活性。当想要增长主机时,只需将主机接入服务网络,向均衡器注册就完成了。如今问题来了,均衡器又以什么标准决定每次任务给谁呢?这就是负载均衡的调度算法该作的事情。它时刻关注着每台服务器的负载,每次有任务时在负载较轻的服务器队列中选中一台。这样就保证了多台服务器都处在负载均衡的状态提供服务,最大限度地保证服务最优进行。


本文目的是向读者展现集群技术的基础概念。关于深层次的集群实现和控制,请读者查阅相关资料。好比红帽的集群套件,IBMHA技术等等,都支持高可用集群。其官网也都提供大量资料。http服务器的新秀——nginx,也提供http访问的负载均衡。关于nginx的资料更是满天飞。本文不做详细讨论了。

本文结束,敬请关注后续其余博文。

相关文章
相关标签/搜索