lv负载均衡群集(三种工作模式原理详解)

  

lv负载均衡群集(三种工作模式原理详解)

  

一、前言

  

?在互联网应用中,随着站点对硬件性能,响应速度,服务稳定性、数据可靠性等要求越来越高,单台服务器力不从心,所以我们需要通过一些方法来解决这样的瓶颈。

  

?最简单的方法就是使用价格昂贵的大、小型的主机;但这样在大多数企业中显然是不可取或者说不现实的。那么我们就需要通过多个普通服务器构建服务器群集。

  

二、相关概念概述

  

2.1何为lv ?

  

?lv - Linux虚拟服务器,即Linux虚拟服务器(虚拟主机,共享主机),虚拟主机在这里就不再赘述了,相信大家都明白。

  

?而lv是一个虚拟的服务器集群系统,其实现的是一个高性能,高可用的服务器。目前lv已经被集成到Linux内核模块中。

  

2.2 lv的构成

  

①从物理层面上讲,lv的主要组成:

  
      <李>负载调度器(负载均衡器/主管),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。   <李>服务器池(服务器池/Realserver),是一组真正执行客户请求的服务器,执行的服务一般有网页、邮件、FTP和DNS等。   <李>共享存储(共享存储),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务李   
  

如下图所示:

  

 lv负载均衡群集(三种工作模式原理详解)

  

补充:一般为了实现高可用会使用两台以上的调度服务器,作为备份,提高安全性。(后面的实验部署博士模式+ keepalive会使用两台负载调度服务器)

  

②从软件层面上讲,lv由2部分程序组成,包括ipv和ipvsadm。

  

1。ipv (ip虚拟服务器):工作在内核空间的一段代码,叫ipv,是真正生效实现调度的代码。

  

2。ipvsadm:另外一段是工作在用户空间,叫ipvsadm,负责为ipv内核框架编写规则,定义谁是集群服务,而谁是后端真实的服务器(真正的服务器),然后由内核代码实现真正的调度算法及功能。

  

2.3何为群集?

  

?群集,或者说集群,英文是集群,由多台主机构成,但是对外只表现为一个整体(同一服务),客户端是无法察觉到究竟有多少台服务器,并且对自己访问的是哪一台真实服务器一无所知。

  

?根据针对目标差异,可将群集分为负载均衡群集,高可用群集(HA),高性能运算群集三类。下文会逐一介绍。

  

2.4如何理解负载均衡?

  

?负载均衡——负载平衡,顾名思义,就服务器方面而言,可以理解为多个服务器上所承载的“压力”相对平衡,这里的“压力”指的是服务器上所需要响应的各种资源请求或者服务,并且是相对平衡的,毕竟服务器的性能等诸多方面都未必一致。

  

?简单举个例子来说明一下负载均衡的含义,如果说你需要打一桶水,你可以选择用一只手拎着,但是可能会比较累,如果你用双手拎着两个桶来装与之等量且平均分配的水,就比较轻松了。

  

?其实负载均衡本质上就是这样的原理,将任务相对平均分配给多个服务器处理,这样既可以减轻一台服务器的压力,也能提高响应与处理的速度。

  

2.5群集的类型

  
2.5.1负载均衡群集
  

?负载均衡+群集,可以提高应用系统的响应能力,处理更多访问请求,减少延迟,从而获得高并发,高负载的整体性能。

  

?当然,负载均衡的处理并不是简单的平均分配,而是依赖于实际情况下的调度分流算法。而算法就涉及开发人员的思想和生产环境的实际情况了。

  
2.5.2高可用群集
  

?提高应用系统的可靠性,减少主断时间,确保服务的连续性,达到高可用的容错效果。

  

?公顷(高可用性)的工作方式包括双工和主从两种模式,这就涉及到“去中心化”和“中心化”思想,而上一篇文章所介绍的尼古拉斯就是典型的主高可用群集的架构模式,只不过我们使用的是MySQL数据库,从而搭成该高可用的架构。

  
2.5.3高性能运算群集
  

?高性能运算群集高性能计算机集群,提高应用系统的CPU运算速度,扩展硬件资源和分析能力,获得相当于大型,超级计算机的高性能运算能力。

  

?高性能运算群集的高性能依赖于“分布式运算”,“并行计算”,通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型计算机具备的计算能力。

lv负载均衡群集(三种工作模式原理详解)