一、集群简介
集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(集群中的每台计算机)都是运行各自服务的独立服务器。这些服务器之间可以彼此通信,协同向用户提供应用程序、系统资源和数据,并以单一系统的模式加以管理。

二、为什么要使用集群
1、高性能
一些国家重要的计算密集型应用(如天气预报、核试验模拟等)需要计算机有很强的运算处理能力。以全世界现有的技术,即使是大型机,其计算能力也是有限的,很难单独完成此任务。因为计算时间可能会相当长,也许几天,甚至几年或更久。因此,对于这类复杂的计算业务使用了计算机集群技术,集群中有几十台、上百台,甚至成千上万台计算机协同计算。
2、价格有效性
与动辄价值上百万的专用超级计算机相比便宜了很多。
3、可伸缩性
如果采用集群技术,则只需要将新的单个服务器加入现有集群架构中即可,从访问的客户角度来看,系统服务无论是连续性上还是性能上都几乎没有区别,系统在不知不觉中完成了升级,加大了访问能力,轻松地实现了扩展。集群系统中的节点数目可以增长到几千乃至上万个,其可伸缩性远超过单台超级计算机。
4、高可用性
在集群系统中,尽管部分硬件和软件也会发生故障,但整个系统的服务可以是7×24小时可用的。
5、透明性
多个独立计算机组成的松耦合集群系统构成一个虚拟服务器;用户或客户端程序访问集群系统时,就像访问一台高性能、高可用的服务器一样,集群中一部分服务器的上线下线不会中断整个系统服务,这对用户也是透明的。
6、可管理性
整个系统可能规模很大,但其实很容易管理,就像管理一个单一映像系统一样。在理想状况下,软硬件模块的插入能做到即插即用。
7、可编程性
在集群系统上开发及修改各类应用程序更容易。
三、集群分类
1、负载均衡集群(Load Balancing Cluster,LBC)
负载均衡集群可以把很多客户集中的访问请求负载压力尽可能平均地分摊在计算机集群中进行处理。
负载均衡集群的作用如下:
·分担用户访问请求及数据流量(负载均衡)。
·保持业务连续性,即7×24小时服务(高可用性)。
·应用于Web业务及数据库从库等服务器的业务。
负载均衡集群典型的开源软件包括LVS、Nginx、Haproxy等。

2、高可用性集群(High-Availability Cluster,HAC)
如果高可用性集群中的主节点发生了故障,那么这段时间内将由备节点代替它。备节点通常是主节点的镜像。当它代替主节点时,它可以完全接管主节点(包括IP地址及其他资源)的服务,因此,使集群系统环境对于用户来说是一致的,即不会影响用户的访问。
高可用性集群的作用如下:
·当一台机器宕机时,另一台机器接管宕机机器的IP资源和服务资源,提供服务。
·常用于不易实现负载均衡的应用,比如负载均衡器,主数据库、主存储对之间。

3、高性能计算集群(High-Performance Cluster,HPC)
高性能计算集群,也称并行计算。通常,高性能计算集群涉及为集群开发的并行应用程序,以解决复杂的科学问题(天气预报、石油勘探、核反应模拟等)。高性能计算集群对外就像一个超级计算机,这种超级计算机内部由数十个至上万个独立服务器器组成,并且在公共消息传递层上进行通信以运行并行应用程序。
4、网格计算(Gird Computing)
四、集群软件硬件介绍及选型
1、软硬件产品介绍
互联网企业常用的开源集群软件有:Nginx、LVS、Haproxy、Keepalived、Heartbeat。
互联网企业常用的商业集群硬件有:F5、Netscaler、Radware、A10等,工作模式相当于Haproxy。
2、如何选型
·当企业业务重要、技术力量又薄弱,并且希望出钱购买产品及获取更好的服务时,可以选择硬件负载均衡产品,如F5、Netscaler、Radware等,此类公司多为传统的大型非互联网企业,如银行、证券、金融、宝马、奔驰等。
·对于门户网站来说,大多会并用软件及硬件产品来分担单一产品的风险,如淘宝、腾讯、新浪等。融资企业会购买硬件产品,如赶集等网站。
·中小型互联网企业由于起步阶段无利润或者利润很低,会希望通过使用开源免费的方案来解决问题,因此会雇用专门的运维人员进行维护。
3、如何选择开源集群软件产品
(1)中小企业互联网公司并发访问和总访问量不是很大的情况下,
建议首选Nginx负载均衡,理由是Nginx负载均衡配置简单、使用方便、安全稳定、社区活跃,使用的人逐渐增多,呈流行趋势,另一个实现负载均衡的类似产品为Haproxy(支持L4和L7负载)同样优秀,但社区不如Nginx活跃。
(2)如果要考虑Nginx负载均衡的高可用功能,
建议首选Keepalived软件,理由是安装、配置简单,使用方便,安全稳定,和Keepalived服务类似的高可用软件还有Heartbeat。
(3)如果是大型企业互联网公司,
负载均衡产品可以使用LVS+Keepalived在前端做4层转发(一般是主备或主主,如果需要扩展可以使用DNS或前端使用OSPF);
后端使用Nginx或者Haproxy做7层转发(可以扩展到百台);
再后面是应用服务器,如果是数据库和存储的负载均衡和高可用,建议选择LVS+Heartbeat,LVS支持TCP转发且DR模式效率很高,Heartbeat可以配合DRBD,不但可以进行VIP的切换,还可以支持块设备级别的数据同步(DRBD),以及资源服务的管理。




