1.什么是lvs?
LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中
该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,其体系结构下图所示
终端互联网用户从外部访问公司的外部负载均衡服务器,把终端用户的Web请求会发送给LVS调度器
调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器
比如,轮询算法可以将外部的请求平均分发给后端的所有服务器,终端用户访问LVS调度器虽然会被转发到后端真实的服务器
但如果真实服务器连接的是相同的存储,提供的服务也是相同的服务,最终用户不管是访问哪台真实服务器
得到的服务内容都是一样的,整个集群对用户而言都是透明的
最后根据LVS工作模式的不同,真实服务器会选择不同的方式将用户需要的数据发送到终端用户
LVS工作模式分为一下几种:
- (1)NAT模式(转换一个ip地址,效率低)
- (2)TUN模式(ip隧道)
- (3)DR模式(调度器跟真正的服务器在同一网段,强行修改mac地址,并不改变ip地址)
FullNAT(访问来源ip跟访问目的ip,效率低,麻烦,要编辑内核的,)以及EnhanceNAT(阿里巴巴,还不成熟)增强nat
通过上图可以清晰的看到,互联网用户访问web资源的时候先去访问lvs负载均衡调度器,再由lvs将用户的请求转给web服务器
这样做的好处是可以均衡后端服务器的压力,防止同一时间某台后端web服务器的访问量过大,导致服务器瘫痪
既有利于公司服务的稳定运行,也有利于客户的使用
2.lvs的特点(优点和缺点)?
在互联网企业当中,通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能、高可用的服务器群集
它具有良好可靠性、可扩展性和可操作性,从而以低廉的成本实现最优的服务性能
- (1)LVS的优点:
高并发连接 | LVS基于内核网络层面工作,有超强的承载能力和并发处理能力,单台LVS负载均衡器,可支持上万并发连接 |
---|---|
稳定性强 | 是工作在网络4层之上仅作分发之用,这个特点也决定了它在负载均衡软件里的性能最强,稳定性最好,对内存和cpu资源消耗极低 |
成本低廉 | 硬件负载均衡器少则十几万,多则几十万上百万&# |