1.什么叫lvs
LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中
该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,
其体系结构下图所示
(1)终端互联网用户从外部访问公司的外部负载均衡服务器,把终端用户的Web请求会发送给LVS调度器
(2)调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器。比如,轮询算法可以将外部的请求平均分发给后端的所有服务器,终端用户访问LVS调度器虽然会被转发到后端真实的服务器
但如果真实服务器连接的是相同的存储,提供的服务也是相同的服务,最终用户不管是访问哪台真实服务器
得到的服务内容都是一样的,整个集群对用户而言都是透明的
(3)最后根据LVS工作模式的不同,真实服务器会选择不同的方式将用户需要的数据发送到终端用户
从上图中可以看出,用户的请求访问WEB资源时,首先到达LVS负载均衡器,再由lvs将用户的请求转给web服务器。
这样做的好处是:可以均衡后端服务器的压力,避免由于同一时间某台服务器的访问压力过大,造成系统瘫痪。
注:FullNAT(访问来源ip跟访问目的ip,效率低,麻烦,要编辑内核的,)以及EnhanceNAT(阿里巴巴,还不成熟)增强nat
2.lvs的优点与缺点
在互联网企业当中,通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能、高可用的服务器群集
它具有良好可靠性、可扩展性和可操作性,从而以低廉的成本实现最优的服务性能
(1)LVS的优点:
- 高并发连接 :LVS基于内核网络层面工作,有超强的承载能力和并发处理能力,单台LVS负载均衡器,可支持上万并发连接
- 稳定性强: 是工作在网络4层之上仅作分发之用,这个特点也决定了它在负载均衡软件里的性能最强,稳定性最好,对内存和cpu资源消耗极低
- 成本低廉 :硬件负载均衡器少则十几万,多则几十万上百万,LVS只需一台服务器和就能免费部署使用,性价比极高
- 配置简单: LVS配置非常简单,仅需几行命令即可完成配置,也可写成脚本进行管理
- 支持多种算法: 支持多种论调算法,可根据业务场景灵活调配进行使用
- 支持多种工作模型: 可根据业务场景,使用不同的工作模式来解决生产环境请求处理问题
- 应用范围广: 因为LVS工作在4层,所以它几乎可以对所有应用做负载均衡,包括http、数据库、DNS、ftp服务等
(2)缺点:
工作在4层,不支持7层规则修改,机制过于庞大,不适合小规模应用