学习了集群的应用,简单总结下:集群并不是很高深难懂的知识,只要掌握其原理,那么实现起来并不是很困难。下面我们一起来简单学习下集群。
什么是集群?
集群或者说是群集:其目的是为了实现将多台计算机组合以来完成特定的任务,比如天气预报,大型网络游戏,这些都需要很大的运算量,单台计算机实现成本太高,而且不显示。那么就需要通过集群的方式,将废弃的或者正在使用的计算机联合起来,结合整体的力量来解决这些问题。
集群的类型大致分为三类:
1.LB Load Balancing(负载均衡集群)
2.HA High Availability(高可用性集群)
3.HP High Performance(高性能集群)
简单说明下这三种类型的集群:
1. 负载均衡型的集群目的是为了提高服务的并发能力,比如三台WEB服务器组合成一个集群,我们就需要用这种类型的集群来实现负载均衡,既让这三台WEB服务器的负载平均一些,不至于有很空闲的服务器。
2. 高可用性的集群目的是为了提供7*24小时服务的能力,通过提供冗余服务器,来防止宏机造成的服务中断
3. 高性能集群目的是为了在短期内解决大量复杂的计算,常见的天气预报系统,科学勘探,人口普查等等
同时,集群提供了非常好的扩展/缩减性非常,可以方便的增加或者减少服务器。
集群实现的方式
LB负载均衡
F5(硬件)
lvs
haproxy
HA 高可用
Heartbeat ***目前分类成几个小项目
corosync+openais: RHCS ***RedHat6.0目前使用的,它的可配置,可共享性优于上面的
ultramokey
keepalive
HP高性能
bowerful
============================分 割 线======================================
下面我们来详细的介绍下负载均衡集群和高可用集群的实现原理
负载均衡集群
————负载均衡其实就是一个乐队的指挥,指挥下面的乐队
为了实现负载均衡,我们需要一个前端的负载均衡器---------Direcor转发服务器(或者专业的硬件),通过它来接受客户端的请求,把这些请求来转发给后方的服务器。在这个转发的过程中,根据后方服务器的负载情况(通过算法)平均分配,以实现负载均衡。
上面说了,可以通过构架专用的服务器来实现负载均衡器的作用,那么通过什么软件来实现这个服务呢?
主要有两种:
1. LVS Linux Virtual Server LVS是由国人章文嵩开发的开源集群软件,是目前广泛使用的集群软件之一。
2. haproxy
LVS经过优化能够提供接近于硬件的性能,而且开源所以使用很多。但是当Director这台主机当机了,整个集群就失效了,这就是单点故障,所以我们需要通过另一种集群的组合来实现集群的功能。
好处:
1.实现负载均衡
2.能过提供类似高可用的功能,比如第一台WEB服务器当机了,通过算法将请求转到第二台
3.能够非常容易扩展,便捷的扩展性,很容易增加主机
高可用集群
—————认为哪个地方不会出错,它就出错----莫非定律
上面说了,高可用集群就是为了可以提供7*24小时在线服务的能力,那么完成这样的需求都需要什么呢?