辛先森科技说 还学不会算我输,深入理解LVS( 二 )


基于分派器的负载平衡集群:分派器 , 也称为负载平衡器 , 可用于在群集中的服务器之间分配负载 , 以便服务器的并行服务可以在单个IP地址上显示为虚拟服务 , 并且最终用户可以像单个服务器一样进行交互不知道群集中的所有服务器 。
与基于DNS的负载平衡相比 , 调度程序可以按精细的粒度(例如每个连接)调度请求 , 以实现服务器之间的更好负载平衡 。 一台或多台服务器发生故障时 , 可以掩盖故障 。
服务器管理变得越来越容易 , 管理员可以随时使一台或多台服务器投入使用或退出服务 , 而这不会中断最终用户的服务 。
负载均衡可以分为两个级别 , 即应用程序级别和IP级别 。 例如 , 反向代理和pWEB是用于构建可伸缩Web服务器的应用程序级负载平衡方法 。
他们将HTTP请求转发到群集中的其他Web服务器 , 获取结果 , 然后将其返回给客户端 。
由于在应用程序级别处理HTTP请求和答复的开销很高 , 我相信当服务器节点数增加到5个或更多时 , 应用程序级别的负载均衡器将成为新的瓶颈 , 这取决于每个服务器的吞吐量服务器 。
LVS与Nginx功能对比如下:
LVS比Nginx具有更强的抗负载能力 , 性能高 , 对内存和CPU资源消耗较低 。 LVS工作在网络层 , 具体流量由操作系统内核进行处理 , Nginx工作在应用层 , 可针对HTTP应用实施一些分流策略 。 LVS安装配置较复杂 , 网络依赖性大 , 稳定性高 。 Nginx安装配置较简单 , 网络依赖性小 。 LVS不支持正则匹配处理 , 无法实现动静分离效果 。 LVS适用的协议范围广 。 Nginx仅支持HTTP、HTTPS、Email协议 , 适用范围小 。LVS的组成及作用
LVS由两部分程序组成:
ipvs(ipvirtualserver):LVS是基于内核态的Netfilter框架实现的IPVS功能 , 工作在内核态 。 用户配置VIP等相关信息并传递到IPVS就需要用到ipvsadm工具 。 ipvsadm:ipvsadm是LVS用户态的配套工具 , 可以实现VIP和RS的增删改查功能 , 是基于Netlink或rawsocket方式与内核LVS进行通信的 , 如果LVS类比于Netfilter , 那ipvsadm就是类似iptables工具的地位 。作用如下:
主要用于多服务器的负载均衡 。 工作在网络层 , 可实现高性能 , 高可用的服务器集群技术 。 廉价 , 可把许多低性能的服务器组合在一起形成一个超级服务器 。 易用 , 配置简单 , 有多种负载均衡的方法 。 稳定可靠 , 即使在集群的服务器中某台服务器无法正常工作 , 也不影响整体效果 。 可扩展性好 。负载均衡的由来及所带来的好处
【辛先森科技说 还学不会算我输,深入理解LVS】在业务刚起步时 , 一般先使用单台服务器对外进行提供服务 。 随着后期的业务增长 , 流量也越来越大 。
当这单台服务器的访问量越大时 , 服务器所承受的压力也就越大 , 性能也将无法满足业务需求 , 超出自身所指定的访问压力就会崩掉 , 避免发生此类事情的发生 。
我们将采取其他方案 , 将多台服务器组成集群系统从而来提高整体服务器的处理性能 , 使用统一入口(流量调度器)的方式通过均衡的算法进行对外提供服务 , 将用户大量的请求均衡地分发到后端集群不同的服务器上 。
因此也就有了负载均衡来分担服务器的压力 。 使用负载均衡给我们所带来的好处:提高系统的整体性能、提高系统的扩展性、提高系统的高可用性 。
LVS负载均衡集群的类型
负载均衡群集:LoadBalanceCluster , 以提高应用系统的响应能力 , 尽可能处理更多的访问请求、减少延迟为目标 , 从而获得高并发、高负载的整体性能 。
高可用群集:HighAvailabilityCluster , 以提高应用系统的可靠性 , 尽可能的减少终端时间为目标、确保服务的连续性 , 达到高可用的容错效果 。
高性能运算群集:HighPerformanceComputerCluster , 以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标、从而获得相当于大型、超级计算机的高性能计算能力 。


推荐阅读