常见的集群分类

   在实际项目中单纯的一台或者是几台服务器在业务量到达一定程度时是往往不能满足生产需求的,所以在实际生产环境中常常用各种的集群架构来解决实际的问题,在集群下可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群提供服务时像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。集群系统的主要优点:高可扩展性、高可用性、高性能、高性价比。而常见的集群扩展通常分成2种:scale up(向上)、scale out(向外),scale up(向上)扩展简单的来说就是类似服务器配置提升,如更换CPU、增加内存等等;scale out(向外)扩展就是当出现一台服务器不够的时候,以增加服务器来共同协作来完成对外服务。

   在集群的类型通常有3种:LB:Load Banlancing(负载)、HA:High Availability(高可用)、HP:High Performace(高性能)。LB:负载均衡集群中有一个分发器或者叫调度器,我们将其称之为Director,它处在多台服务器的上面,分发器根据内部锁定义的规则或调度方式从下面的服务器群中选择一个以此来响应客户端发送的请求,从而解决高并发的问题。在扩展中可非常容易的使用scale out扩展,从而实现集群的伸缩性,在业内常见开源解决方案有lvs、haprox、nginx、ats;HA:高可用集群是服务的可用性比较高,当我们某台服务器死机后不会造成我们的服务不可用。其工作模式则是将一个具有故障的服务转交给一个正常工作的服务器,从而达到服务不会中断。一般来说我们集群中工作在前端(分发器)的服务器都会对我们的后端服务器做一个健康检查,如果发现我们服务器当机就不会对其在做转发,衡量标准:可用性=在线时间/(在线时间+故障处理时间),就是通常我们说的可用性99%、99.9%、99.99%等等,在业内常见开源解决方案有heartbeat、keepalived等等;HP:高性能的集群是当某一个任务量非常大的时候,我们做一个集群共同来完成这一个任务。这种处理方式我们称为并行处理集群,并行处理集群是将大任务划分为小任务,分别进行处理的机制,常常用于大数据分析,海量资源整合,目前比较出名的就是Hadoop。

   总之,在实际生产环境中我们都可以根据实际情况来挑选合适的集群解决方案,3种集群的侧重各有不同,LB集群着重在于提供服务并发处理能力,HA集群以提升服务在线的能力实现服务不间断,HP集群着重用于处理一个海量任务。

猜你喜欢

转载自blog.51cto.com/jim123/2108428