集群概念
集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源,这些单个的计算机系统就是集群的节点(node)。集群提供了以下关键的特性。
(一) 可扩展性。集群的性能不限于单一的服务实体,新的服务实体可以动态的加入到集群,从而增强集群的性能。
(二) 高可用性。集群通过服务实体冗余使客户端免于轻易遭遇到“out of service”警告。当一台节点服务器发生故障的时候,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管。消除单点故障对于增强数据可用性、可达性和可靠性是非常重要的。
(三) 负载均衡。负载均衡能把任务比较均匀的分布到集群环境下的计算和网络资源,以便提高数据吞吐量。
(四) 错误恢复。如果集群中的某一台服务器由于故障或者维护需要而无法使用,资源和应用程序将转移到可用的集群节点上。这种由于某个节点中的资源不能工作,另一个可用节点中的资源能够透明的接管并继续完成任务的过程叫做错误恢复。
集群类型
最常见的三种群集类型包括高性能群集、负载均衡群集和高可用性群集。
高可用集群
一般是指当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上。还指可以将集群中的某节点进行离线维护再上线,该过程并不影响整个集群的运行。当应用程序出现故障,或者系统硬件,网络出现故障是,应用可以自动,快速地从一个节点切换到另一个节点,从而保证应用持续、不间断地对外提供服务。
负载均衡集群
负载均衡集群也是由两台或者两台以上的服务器组成,分为前端负载调度和后端服务两个部分。负载调度部分负载吧客户端的请求按照不同的策略分配给后端服务节点,而后端节点是真正提供营养程序服务的部分。与HA Cluster不同的是,负载均衡集群中,所有的后端节点都处于活动状态,他们都对外提供服务,分摊系统的工作负载。
负载均衡集群可以把一个高负荷的应用分散到多个节点共同完成,适用于业务繁忙、大负荷访问的应用系统。但是它也有不足的地方;当一个节点出现故障时,前端调度系统并不知道此节点已经不能提供服务,仍然会把客户端请求调度到故障节点上来,这样访问就会失败。为了解决这个问题,负载调度系统一般都引入了节点监控系统。
节点监控系统位于前端负载调度机上,负责监控下面的服务节点。当某个节点出现故障后,节点监控系统会自动将故障节点从集群中剔除;当此节点恢复正常后,节点监控系统又会自动将其加入集群中,而这一切,对用户来说是完全透明的。
lvs负载均衡
haproxy负载均衡
高可用集群
一般是指当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上。还指可以将集群中的某节点进行离线维护再上线,该过程并不影响整个集群的运行。当应用程序出现故障,或者系统硬件,网络出现故障是,应用可以自动,快速地从一个节点切换到另一个节点,从而保证应用持续、不间断地对外提供服务。