负载均衡集群-集群LVS

LVS负载均衡
摘要由CSDN通过智能技术生成

负载均衡集群

什么是集群

    集群称呼来自于英文单词cluster,表示一群、一串的意思,用在服务器领域则表示大量服务器的集合体,协同起来向用户提供系统资源,系统服务。通过网络连接组合成一个计算机组,来共同完一个任务。

    根据实际企业环境的不同,集群所提供的功能也各不相同,采用的技术细节也可能各有千秋,但无论哪种集群,都至少包括两台节点服务器。而对外表现为一个整体,只提供一个访问入口(域名或IP地址),为用户提供服务,组成集群的服务器称之为集群的节点。

集群特性

1)高性能(performance)

一些需要很强的运算处理能力比如天气预报,核试验等。这就不是几台计算机能够搞定的。这需要上千台一起来完成这个工作的,可以获得很高的整体性能。

2)价格有效性(性价比)

通常一套系统集群架构,只需要几台或数十台服务器主机即可,与动则上百万的专用超级计算机相比具有更高的性价比。

3)可伸缩性

集群系统中的节点数目可以增长到几千个,乃至上万个,当服务器负载压力增长的时候,系统能够扩展来满足需求,且不降低服务质量。

4)高可用性

在硬件和软件上都有冗余,通过检测软硬件的故障,将故障屏蔽,由存活节点提供服务,可实现高可用性。确保整个系统的服务必须是7*24小时运行的。

应用场景:

高并发、高可用性、高性能场景

例如:一台web服务器,如果能够响应10000个并发,如果现在有20000个并发,一台服务器就无法响应。说明,web服务已经达到瓶颈

解决这个问题的办法:

       加配置: 加CPU, 加内存, 加带宽, 加SSD 这种解决方法称为“向上扩展”或“纵向扩展”, 能够解决一时, 却不能彻底解决。

       加服务器: 一台==>两台, 两台==>四台  四台==>8台。使用多台服务器同时为用户提供服务,而这一种解决方法则称为“横向扩展”或“向外扩展”

向外扩展: 就是集群

集群的种类:

根据集群所针对的目标差异,可分为以下三种类型。

1、负载均衡集群(laod balance cluster,简称LB):以提高应用系统的响应能力,尽可能处理更多的访问请求,减少延迟为目标,获得高并发、高负载的整体性能。LB的负载分配依赖于主节点的分流算法,将来自客户机的访问请求分担给多个服务器节点,从而缓解整个系统的负载压力。

2、高可用集群(high availability cluster,简称HA):以提高应用系统的可靠性,尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果。HA的工作方式包括双工、主从两种模式------双工即所有节点同时在线,主从则只有主节点在线,但当出现故障时从节点能自动切换为主节点。

3、高性能运算集群(high performance computer cluster简称HPC):这类集群致力于提供单个计算机所不能提供的强大的计算能力,以提高应用系统的CPU运算速度,扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算能力.通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力。

负载均衡集群

在当今各种互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等的要求越来越高,单台服务器将难以承担所有的访问。除了使用价格昂贵的大型机、专用负载分流设备以外,企业还有另外一种选择来解决难题,就是构建集群服务器——通过整合多台相对廉价的普通服务器,以同一个地址对外提供相同的服务。

负载均衡集群:以提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载的整体性能。

负载均衡集群的分层结构

在典型的负载均衡集群中,包括三个层次的组件,如图所示:

前端至少有一个负载调度器(load balancer [ˈbælənsər],或称为director),负责接收并分发来自客户机的访问请求;后端由大量真实服务器(real server)构成服务器池(server pool),提供实际的应用服务,整个集群的伸缩性通过增加、删除服务器节点来完成,而这些过程对客户机是透明的;为了保持服务的一致性,所有节点使用共享存储设备。

第一层,负载调度器:这是访问整个集群系统的唯一入口,对外使用所有服务器共有的VIP(virtual IP,虚拟IP)地址,也称为集群IP地址。通常会配置主、备两台调度器实现热备份,当主调度器失效以后平滑替换至备用调度器,确保高可用性。

第二层,服务器池:集群所提供的应用服务(如HTTP)由服务器池承担,其中的每个节点具有独立的RIP(real IP,真实IP)地址,只处理调度器分发过来的客户机请求。当某个节点暂时失效时,负载调度器的容错机制会将其隔离,等侍错误排除以后再重新纳入服务器池。

第三层,共享存储:为服务器池中的所有节点提供稳定、一致的文件存取服务,确保整个集群的统一性,在linux/unix环境中,共享存储可以使用ceph存储或者提供NFS共享服务的专用服务器。

负载均衡集群(LB)实现手段

硬件的实现: F5负载均衡器

软件的实现: LVS(4层,传输层) ,Nginx(7层,应用层)  haproxy(既可以工作再4层,又可以工作在7层)

LVS集群

LVS(Linux Virtual Server)介绍

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统,本项目在1998年5月由阿里巴巴的著名工程师章文嵩博士开发的一款开源软件,是中国国内最早出现的自由软件项目之一。

LVS工作在一台server上提供Director(负载均衡器)的功能,本身并不提供服务,只是把特定的请求转发给对应的real server(真正提供服务的主机),从而实现集群环境中的负载均衡。

LVS工作在ISO模型中的第四层,由于其工作在第四层,因此与iptables类似,必须工作在内核空间上。因此lvs与iptables一样,是直接工作在内核中的,叫ipvs,主流的linux发行版默认都已经集成了ipvs,因此用户只需安装一个管理工具ipvsadm即可。

官网:http://www.linuxvirtualserver.org/

中文站点: LVS中文站点

LVS的组成

LVS 由2部分程序组成,包括 ipvs 和 ipvsadm。

LVS的核心组件ipvs工作在kernel中,是真正的用于实现根据定义的集群转发规则把客户端的请求转发到特定的real server。而另一个组件ipvsadm是工作在用户空间的一个让用户定义ipvs规则的工具。故我们只要在server上装了ipvsadm软件包就可以定义ipvs规则,而在linux kernel的2.6版本之后kernel是直接支持ipvs的。

LVS 集群工作结构图:

负载调度器,:

调度器(Director): 整个集群对外的最前端主机, 负责接收用户请求, 并且根据相关的调度算法, 将请求转发到后端真实服务器上,而客户端认为服务是来自一个IP地址(我们可称之为VIP虚拟IP地址)上的。

服务器池: Server Pool 

真正为用户提供服务的服务器, 每一台服务器就是一台RS[RealServer],执行的服务有WEB、MAIL、FTP和DNS等。

共享存储: Shared Storaged

为RS保持相同内容, 提供数据的一致性,也就是说,它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。

LVS的专用名词

DS:Director Server。指的是前端负载均衡器节点。

RS:Real Server。后端真实的工作服务器。

VIP:向外部直接面向用户请求,作为用户请求的目标的IP地址。

DIP:Director Server IP,主要用于和内部主机通讯的IP地址。

RIP:Real Server IP,后端服务器的IP地址。

CIP:Client IP,访问客户端的IP地址。

LVS的负载调度算法

针对不同的网络服务和配置需要,LVS调度器提供多种不同的负载调度算法,其中最常用的算法包括轮询、加权轮询、最少连接、权最少连接和source hashing源地址hash。(rr、wrr、lc、wlc、sh)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值