在各类网络服务广泛应用的今天,随网络速度的提升以及用户的增长,在一些繁忙的场合,单凭一台机器已经没法就能应付全部的网络请求了。为了解决这个问题,许多用户就采用一组cluster(集群)来代替单一的机器。cluster能够将多台计算机链接起来协同运做以对外提供各类服务,好比Apache、FTP、Mail等。前端
LVS方式的cluster从结构上可分为两部分:前端的负载均衡器(称之为director)和后端的真实服务器(称之为real server)。cluster前端的director未来自外界的请求调度到cluster后端不一样的real server去执行。real server负责真正的提供各类应用服务,好比:Web、FTP、Mail等服务。real server的数量能够根据实际需求进行增长、减小。算法
LVS提供了三种包转发方式:NAT(网络地址映射)、IP Tunneling(IP隧道)、Direct Routing(直接路由)。不一样的转发模式决定了不一样的cluster的网络结构,下面对三种转发方式分别介始:后端
NAT方式可支持任何的操做系统,以及私有网络,而且只需一个Internet IP地址,可是整个系统的性能受到限制。由于执行NAT每次须要重写包,有必定的延迟;另外,大部分应用有80%的数据是从服务器流向客户机,也就是用户的请求很是短,而服务器的回应很是大,对负载均衡器造成很大压力,成为了新的瓶颈。服务器
director分配请求到不一样的real server。real server处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器的一半链接。IP Tunneling技术极大地提升了director的调度处理能力,同时也极大地提升了系统能容纳的最大节点数,能够超过100个节点。real server能够在任何LAN或WAN上运行,这意味着容许地理上的分布,这在灾难恢复中有重要意义。服务器必须拥有正式的IP地址用于与客户机直接通讯,而且全部服务器必须支持IP隧道协议。网络
与IP Tunneling相似,负载均衡器仅处理一半的链接,避免了新的性能瓶颈,一样增长了系统的可伸缩性。Direct Routing与IP Tunneling相比,没有IP封装的开销,但因为采用物理层(修改MAC地址)技术,全部服务器都必须在一个物理网段。负载均衡
LVS已实现了如下八种调度算法:性能