LVS原理与使用(1)

    负载均衡,不管是否真正了解过,但我相信全部跟编程打交道的读者都有据说。同时,它(负载均衡)也是被认为一个大型网站的标识性技术之一(但负载均衡的做用确定不止这点用途)。虽然网上也有很多关于LVS配置实用的教程或帖子,但总的来讲几乎都是以快餐式文化为主,内容良莠不齐,很多教程自己也存在很多错误,对读者不只没有帮助,反而形成了视线干扰。所以,本系列,咱们将使用较大的篇幅(60%左右)来说对LVS的前提知识的进行补充以及其原理进行讲解,而后用较少的篇幅(30%左右)来说解具体操做,最用用剩余的篇幅(10%左右)来说解须要注意的地方。但愿借此让各位读者可以从真正意义上了解LVS。web

    好的,做为本系列的开篇,本章内容中,咱们将讲述:编程

      (1)、LVS的简介安全

      (2)、LVS的优点服务器


    1、LVS简介网络

    负载均衡是什么我就懒得解析了,目前市面上的负载均衡设备主要分为两个方面,其一就是基于硬件的负载均衡设备,譬如Cisco(思科)的交换机、华为的硬件机器、F五、梭子鱼等。这些设备一般以整套产品(软+硬+服务)的方式进行出售,用户按照自身需求购买,通常均能达到良好的预期结果,此外这些设备的设备商也提供了一站式服务,让您的后期的维护省下很多的烦恼。不过因为这些设备通常售价较高,后期的维护也可能须要支付一笔不菲的费用,这也使得很多的中小企业因没法承担这笔开支而选择放弃。负载均衡

    而另一种则是软件型的负载均衡,这一类的负载均衡都是基于操做系统内核或者是以运行于操做系统中的软件服务的形式提供负载均衡服务。比较经典的是LVS、NLB以及某些提供轮询或代理功能的软件等。这种方式最大的好处就是可以以相对低廉的价格得到一样的服务,但这种方式一般没有任何的机构提供任何的支持服务(给维护费除外),也难以得到任何所谓的一站式服务,对使用者自己的技术掌握能力要求也较高。性能

    咱们再用一句话来归纳LVS:LVS,全称是“Linux Virtual Server”,它是我国(中国)国内最先出现的自由软件项目之一,在1998年5月由章文嵩先生立项成立,经过基于内容的分发的形式让多台真实服务器同时处理来自外部的多个请求,从而提高总体服务的吞吐性能,其核心为ipvsadm,目前LVS的使用已经遍及互联网的每一个角落,几乎全部有使用Linux做为服务器的大型企业都有使用。学习

 

    2、LVS的优点网站

    LVS的初次配置使用并算不上特别的容易,然后期的维护就更加考验经验,与之同时,也有很多用户在使用一些其余软件来提供负载均衡功能,比较经典的例子就是PHPer们号称的最强webserver服务器Nigix,用它来作代理(咳咳,Linux中没有比Jexus更强的WebServer)。这些后者的方式相对来讲操做更加简单,所以有不少的负载均衡均是使用一台装有Nginx之类的服务器来充当。不过即使如此,LVS仍然均有它们所的没法比拟的好处。操作系统

    为了说清楚它的优点,咱们须要先回顾一下OSI七层网络模型的知识。

    上图为你们所熟知的OSI七层模型,数据从应用程序发出经由应用层、表示层、会话层(目前上面三层能够合并为一层)……通过层层封装到达链路层,而后再化为0101二进制,再以比特流的形式在物理线路上进行传输。数据流到达目的计算机后,也按照相反的步骤从下往上的层层解包,最后到达应用层并把数据传递给应用程序。

    普通的负载均衡软件,主要都是工做在三层到顶层之间,从理论上来说越是工做在上层的服务就意味着数据包的传输须要进行越多的打包和拆包工做,性能的消耗也越是厉害(固然,单个数据包的消耗极小,几乎能够忽略,这里指海量数据包),代理软件通常工做在三层/四层之中,WebServer工做在五到七层之中,而LVS则能够工做在二层之中(数据链路层),我想剩余的不用我多说,读者们也应该立刻意识到它的将会有多高效。

    此外,因为OSI网络具备透明性(上层对下层说:数据给你,剩下的我无论了【无论你怎么传输,也不论是否可达】),全部上层协议都是创建在透明的下层的基础上,咱们只要把下层搞定了,上层协议也天然“被”兼容,所以LVS能够无需担忧任何Http协议、Telnet协议、Https协议等高层协议的问题,具备极强的兼容能力。

    最后,通常的高层网络负载均衡设备主要使用NAT技术来实现负载均衡,全部的数据请求与应答的流量都须要通过负载均衡服务器,这不只至关容易给负载均衡服务器形成巨大的压力、形成性能上的瓶颈,并且因为数据通过NAT的转换,数据包中源IP将发生改变,这也很容易形成“后方”服务器上的安全监控设备产生误判,形成误杀。而LVS不只可使用NAT的方式进行负载均衡,使用非NAT的方式,利用三角网络的形式进行负载均衡,应答的数据再也不经由负载均衡服务器(通常状况,应答才是流量的大头),而且LVS此时不改变数据包的源IP,仅仅经过改变MAC的方式,以广播的方式直接向“后方”服务器发送数据,避免了监控的误杀。


    好的,关于LVS的介绍,咱们就暂且告一段落,下一篇,咱们将开始进入到LVS的学习使用当中,咱们下篇见。

    原文地址:http://jhonge.net/Home/Single2/1972

相关文章
相关标签/搜索